Subject: Re: [PATCH] phy: fix possible double lock calling link changed handler

From: Alessandro B Maurici <[email-masked]>
Date: Tue, 23 Nov 2021 12:58:11 -0300

On Tue, 23 Nov 2021 15:09:04 +0100
Andrew Lunn <[email-masked]> wrote:

> The callback has always had the lock held, so is safe. However,
> recently a few bugs have been reported and fixed for functions like
> phy_ethtool_get_link_ksettings() and phy_ethtool_set_link_ksettings()
> where they have accessed phydev members without the lock and got
> inconsistent values in race condition. These are hard race conditions
> to reproduce, but a deadlock like this is very obvious, easy to fix. I
> would also say that _ethtool_ in the function name is also a good hit
> this is intended to be used for an ethtool callback.
> 
> Lets remove the inappropriate use of phy_ethtool_get_link_ksettings()
> here.
> 
>      Andrew

Yes, I was under the impression because the lan743x driver used that way, 
this was an expected use case, and that why the patch, but you are 100% 
correct that the phy_dev information sent to the call back would be 
unprotected if used with that patch. My mistake.

Alessandro