[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <Y3PSTmUD37e0hsyr@kroah.com>
Date: Tue, 15 Nov 2022 18:54:22 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: Paul Fulghum <paulkf@...rogate.com>
Cc: Zhengchao Shao <shaozhengchao@...wei.com>,
"linux-kernel@...r.kernel.org Mailing List"
<linux-kernel@...r.kernel.org>, Jiri Slaby <jirislaby@...nel.org>,
akpm@...ux-foundation.org, weiyongjun1@...wei.com,
yuehaibing@...wei.com
Subject: Re: [PATCH] tty: synclink_gt: unwind actions in error path of net
device open
On Tue, Nov 15, 2022 at 09:38:32AM -0800, Paul Fulghum wrote:
> Resent again, last attempt still altered the plain text.
>
Please send a v2 patch, and this is not needed as it would show up in
the commit log if we were to apply it, right?
>
> Zhengchao Shao <shaozhengchao@...wei.com> identified by inspection bugs in the error path of hdlcdev_open() in synclink_gt.c
Properly wrap your lines at 72 columns please.
>
> The function did not fully unwind actions in the error path. The use of try_module_get()/module_put() is unnecessary, potentially hazardous and is removed. The synclink_gt driver is already pinned any point the net device is registered, a requirement for calling this entry point.
>
> The call hdlc_open() to init the generic HDLC layer is moved to after driver level init/checks and proper rollback of previous actions is added. This is a more sensible ordering as the most common error paths are at the driver level and the driver level rollbacks require less processing than hdlc_open()/hdlc_close().
>
> This has been tested with supported hardware.
>
> Signed-off-by:Paul Fulghum <paulkf@...rogate.com>
You need a Suggested-by: tag here.
And a space after the ':' character.
>
> diff --git a/drivers/tty/synclink_gt.c b/drivers/tty/synclink_gt.c
> index 25e9befdda3a..72b76cdde534 100644
> --- a/drivers/tty/synclink_gt.c
> +++ b/drivers/tty/synclink_gt.c
> @@ -1433,16 +1433,8 @@ static int hdlcdev_open(struct net_device *dev)
> int rc;
> unsigned long flags;
>
> - if (!try_module_get(THIS_MODULE))
> - return -EBUSY;
Thank you for removing this, this code pattern is always wrong :)
thanks,
greg k-h
Powered by blists - more mailing lists