[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190601154636.GA19081@lunn.ch>
Date: Sat, 1 Jun 2019 17:46:36 +0200
From: Andrew Lunn <andrew@...n.ch>
To: hancock@...systems.ca
Cc: Heiner Kallweit <hkallweit1@...il.com>, netdev@...r.kernel.org,
Florian Fainelli <f.fainelli@...il.com>
Subject: Re: [PATCH net-next] net: phy: Ensure scheduled work is cancelled
during removal
On Fri, May 31, 2019 at 09:22:16PM -0600, hancock@...systems.ca wrote:
> > On 31.05.2019 22:54, Andrew Lunn wrote:
> >>> It is possible that scheduled work started by the PHY driver is still
> >>> outstanding when phy_device_remove is called if the PHY was initially
> >>> started but never connected, and therefore phy_disconnect is never
> >>> called. phy_stop does not guarantee that the scheduled work is stopped
> >>> because it is called under rtnl_lock. This can cause an oops due to
> >>> use-after-free if the delayed work fires after freeing the PHY device.
> >>>
> > The patch itself at least shouldn't do any harm. However the justification
> > isn't fully convincing yet.
> > PHY drivers don't start any scheduled work. This queue is used by the
> > phylib state machine. phy_stop usually isn't called under rtnl_lock,
> > and it calls phy_stop_machine that cancels pending work.
> > Did you experience such an oops? Can you provide a call chain where
> > your described scenario could happen?
>
> Upon further investigation, it appears that this change is no longer
> needed in the mainline. Previously (such as in 4.19 kernels as we are
> using),
Hi Robert
Please do all your testing on net-next. 4.19 is dead, in terms of
development. There is no point in developing and testing on it patches
intended for mainline.
Andrew
Powered by blists - more mailing lists