On Fri, May 31, 2019 at 09:22:16PM -0600, hanc...@sedsystems.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