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: RUC_Soft_Sec <zy900702@163.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
182554570a
commit
9d332d92a9
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue