lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aaed764f-3e55-4463-bdb5-9f8b7fca5907@gmail.com>
Date: Sun, 12 Jan 2025 23:02:56 +0100
From: Heiner Kallweit <hkallweit1@...il.com>
To: Paolo Abeni <pabeni@...hat.com>, Jakub Kicinski <kuba@...nel.org>,
 David Miller <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
 Simon Horman <horms@...nel.org>, Andrew Lunn <andrew+netdev@...n.ch>,
 Shyam Sundar S K <Shyam-sundar.S-k@....com>
Cc: Andrew Lunn <andrew@...n.ch>,
 Russell King - ARM Linux <linux@...linux.org.uk>,
 "netdev@...r.kernel.org" <netdev@...r.kernel.org>
Subject: Re: [PATCH net] net: ethernet: xgbe: re-add aneg to supported
 features in PHY quirks

On 12.01.2025 22:59, Heiner Kallweit wrote:
> In 4.19, before the switch to linkmode bitmaps, PHY_GBIT_FEATURES
> included feature bits for aneg and TP/MII ports.
> 
> 				 SUPPORTED_TP | \
> 				 SUPPORTED_MII)
> 
> 				 SUPPORTED_10baseT_Full)
> 
> 				 SUPPORTED_100baseT_Full)
> 
> 				 SUPPORTED_1000baseT_Full)
> 
> 				 PHY_100BT_FEATURES | \
> 				 PHY_DEFAULT_FEATURES)
> 
> 				 PHY_1000BT_FEATURES)
> 
> Referenced commit expanded PHY_GBIT_FEATURES, silently removing
> PHY_DEFAULT_FEATURES. The removed part can be re-added by using
> the new PHY_GBIT_FEATURES definition.
> Not clear to me is why nobody seems to have noticed this issue.
> 
> I stumbled across this when checking what it takes to make
> phy_10_100_features_array et al private to phylib.
> 
> Fixes: d0939c26c53a ("net: ethernet: xgbe: expand PHY_GBIT_FEAUTRES")
> Cc: stable@...r.kernel.org
> Signed-off-by: Heiner Kallweit <hkallweit1@...il.com>
> ---
>  drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 19 ++-----------------
>  1 file changed, 2 insertions(+), 17 deletions(-)
> 
> diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
> index 6a716337f..268399dfc 100644
> --- a/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
> +++ b/drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c
> @@ -923,7 +923,6 @@ static void xgbe_phy_free_phy_device(struct xgbe_prv_data *pdata)
>  
>  static bool xgbe_phy_finisar_phy_quirks(struct xgbe_prv_data *pdata)
>  {
> -	__ETHTOOL_DECLARE_LINK_MODE_MASK(supported) = { 0, };
>  	struct xgbe_phy_data *phy_data = pdata->phy_data;
>  	unsigned int phy_id = phy_data->phydev->phy_id;
>  
> @@ -945,14 +944,7 @@ static bool xgbe_phy_finisar_phy_quirks(struct xgbe_prv_data *pdata)
>  	phy_write(phy_data->phydev, 0x04, 0x0d01);
>  	phy_write(phy_data->phydev, 0x00, 0x9140);
>  
> -	linkmode_set_bit_array(phy_10_100_features_array,
> -			       ARRAY_SIZE(phy_10_100_features_array),
> -			       supported);
> -	linkmode_set_bit_array(phy_gbit_features_array,
> -			       ARRAY_SIZE(phy_gbit_features_array),
> -			       supported);
> -
> -	linkmode_copy(phy_data->phydev->supported, supported);
> +	linkmode_copy(phy_data->phydev->supported, PHY_GBIT_FEATURES);
>  
>  	phy_support_asym_pause(phy_data->phydev);
>  
> @@ -964,7 +956,6 @@ static bool xgbe_phy_finisar_phy_quirks(struct xgbe_prv_data *pdata)
>  
>  static bool xgbe_phy_belfuse_phy_quirks(struct xgbe_prv_data *pdata)
>  {
> -	__ETHTOOL_DECLARE_LINK_MODE_MASK(supported) = { 0, };
>  	struct xgbe_phy_data *phy_data = pdata->phy_data;
>  	struct xgbe_sfp_eeprom *sfp_eeprom = &phy_data->sfp_eeprom;
>  	unsigned int phy_id = phy_data->phydev->phy_id;
> @@ -1028,13 +1019,7 @@ static bool xgbe_phy_belfuse_phy_quirks(struct xgbe_prv_data *pdata)
>  	reg = phy_read(phy_data->phydev, 0x00);
>  	phy_write(phy_data->phydev, 0x00, reg & ~0x00800);
>  
> -	linkmode_set_bit_array(phy_10_100_features_array,
> -			       ARRAY_SIZE(phy_10_100_features_array),
> -			       supported);
> -	linkmode_set_bit_array(phy_gbit_features_array,
> -			       ARRAY_SIZE(phy_gbit_features_array),
> -			       supported);
> -	linkmode_copy(phy_data->phydev->supported, supported);
> +	linkmode_copy(phy_data->phydev->supported, PHY_GBIT_FEATURES);
>  	phy_support_asym_pause(phy_data->phydev);
>  
>  	netif_dbg(pdata, drv, pdata->netdev,

+ Shyam Sundar S K <Shyam-sundar.S-k@....com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ