[PATCH net-next] net: ethtool: phy: Check the req_info.pdn field for GET commands

From: Maxime Chevallier
Date: Tue Sep 10 2024 - 13:46:53 EST


When processing the netlink GET requests to get PHY info, the req_info.pdn
pointer is NULL when no PHY matches the requested parameters, such as when
the phy_index is invalid, or there's simply no PHY attached to the
interface.

Therefore, check the req_info.pdn pointer for NULL instead of
dereferencing it.

Suggested-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Reported-by: Eric Dumazet <edumazet@xxxxxxxxxx>
Closes: https://lore.kernel.org/netdev/CANn89iKRW0WpGAh1tKqY345D8WkYCPm3Y9ym--Si42JZrQAu1g@xxxxxxxxxxxxxx/T/#mfced87d607d18ea32b3b4934dfa18d7b36669285
Fixes: 17194be4c8e1 ("net: ethtool: Introduce a command to list PHYs on an interface")
Signed-off-by: Maxime Chevallier <maxime.chevallier@xxxxxxxxxxx>
---
Hi,

I'm targetting net-next as the commit this patch fixes is still in
net-next.

net/ethtool/phy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ethtool/phy.c b/net/ethtool/phy.c
index 560dd039c662..4ef7c6e32d10 100644
--- a/net/ethtool/phy.c
+++ b/net/ethtool/phy.c
@@ -164,7 +164,7 @@ int ethnl_phy_doit(struct sk_buff *skb, struct genl_info *info)
goto err_unlock_rtnl;

/* No PHY, return early */
- if (!req_info.pdn->phy)
+ if (!req_info.pdn)
goto err_unlock_rtnl;

ret = ethnl_phy_reply_size(&req_info.base, info->extack);
--
2.46.0