[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2c08964c-d160-9841-4196-911a2ec7c2ff@hartkopp.net>
Date: Tue, 25 Feb 2020 20:04:50 +0100
From: Oliver Hartkopp <socketcan@...tkopp.net>
To: yangerkun <yangerkun@...wei.com>, davem@...emloft.net
Cc: netdev@...r.kernel.org, maowenan@...wei.com
Subject: Re: [RFC] slip: not call free_netdev before rtnl_unlock in slip_open
I pick it up to take a look at this :-)
On 13/02/2020 10.32, yangerkun wrote:
> As the description before netdev_run_todo, we cannot call free_netdev
> before rtnl_unlock, fix it by reorder the code.
>
> Signed-off-by: yangerkun <yangerkun@...wei.com>
Reviewed-by: Oliver Hartkopp <socketcan@...tkopp.net>
The same issue applies to slcan_open() in slcan.c too.
I'll send a patch for it, when this fix got merged.
Best regards,
Oliver
> ---
> drivers/net/slip/slip.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/net/slip/slip.c b/drivers/net/slip/slip.c
> index 6f4d7ba8b109..babb01888b78 100644
> --- a/drivers/net/slip/slip.c
> +++ b/drivers/net/slip/slip.c
> @@ -863,7 +863,10 @@ static int slip_open(struct tty_struct *tty)
> tty->disc_data = NULL;
> clear_bit(SLF_INUSE, &sl->flags);
> sl_free_netdev(sl->dev);
> + /* do not call free_netdev before rtnl_unlock */
> + rtnl_unlock();
> free_netdev(sl->dev);
> + return err;
>
> err_exit:
> rtnl_unlock();
>
Powered by blists - more mailing lists