Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9d332d92 authored by Fabio Estevam's avatar Fabio Estevam Committed by David S. Miller
Browse files

mkiss: Fix error handling in mkiss_open()



If register_netdev() fails we are not propagating the error and
we return success because ax_open() succeeded previously.

Fix this by checking the return value of ax_open() and
register_netdev() and propagate the error in case of failure.

Reported-by: default avatarRUC_Soft_Sec <zy900702@163.com>
Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 18255457
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -728,11 +728,12 @@ static int mkiss_open(struct tty_struct *tty)
	dev->type = ARPHRD_AX25;

	/* Perform the low-level AX25 initialization. */
	if ((err = ax_open(ax->dev))) {
	err = ax_open(ax->dev);
	if (err)
		goto out_free_netdev;
	}

	if (register_netdev(dev))
	err = register_netdev(dev);
	if (err)
		goto out_free_buffers;

	/* after register_netdev() - because else printk smashes the kernel */