[PATCH net] net: ethtool: fix the error condition in ethtool_get_phy_stats_ethtool()

Su Hui posted 1 patch 1 year, 8 months ago
net/ethtool/ioctl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH net] net: ethtool: fix the error condition in ethtool_get_phy_stats_ethtool()
Posted by Su Hui 1 year, 8 months ago
Clang static checker (scan-build) warning:
net/ethtool/ioctl.c:line 2233, column 2
Called function pointer is null (null dereference).

Return '-EOPNOTSUPP' when 'ops->get_ethtool_phy_stats' is NULL to fix
this typo error.

Fixes: 201ed315f967 ("net/ethtool/ioctl: split ethtool_get_phy_stats into multiple helpers")
Signed-off-by: Su Hui <suhui@nfschina.com>
---
 net/ethtool/ioctl.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
index 5a55270aa86e..e645d751a5e8 100644
--- a/net/ethtool/ioctl.c
+++ b/net/ethtool/ioctl.c
@@ -2220,7 +2220,7 @@ static int ethtool_get_phy_stats_ethtool(struct net_device *dev,
 	const struct ethtool_ops *ops = dev->ethtool_ops;
 	int n_stats, ret;
 
-	if (!ops || !ops->get_sset_count || ops->get_ethtool_phy_stats)
+	if (!ops || !ops->get_sset_count || !ops->get_ethtool_phy_stats)
 		return -EOPNOTSUPP;
 
 	n_stats = ops->get_sset_count(dev, ETH_SS_PHY_STATS);
-- 
2.30.2
Re: [PATCH net] net: ethtool: fix the error condition in ethtool_get_phy_stats_ethtool()
Posted by Przemek Kitszel 1 year, 8 months ago
On 6/5/24 05:47, Su Hui wrote:
> Clang static checker (scan-build) warning:
> net/ethtool/ioctl.c:line 2233, column 2
> Called function pointer is null (null dereference).
> 
> Return '-EOPNOTSUPP' when 'ops->get_ethtool_phy_stats' is NULL to fix
> this typo error.
> 
> Fixes: 201ed315f967 ("net/ethtool/ioctl: split ethtool_get_phy_stats into multiple helpers")
> Signed-off-by: Su Hui <suhui@nfschina.com>
> ---
>   net/ethtool/ioctl.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
> index 5a55270aa86e..e645d751a5e8 100644
> --- a/net/ethtool/ioctl.c
> +++ b/net/ethtool/ioctl.c
> @@ -2220,7 +2220,7 @@ static int ethtool_get_phy_stats_ethtool(struct net_device *dev,
>   	const struct ethtool_ops *ops = dev->ethtool_ops;
>   	int n_stats, ret;
>   
> -	if (!ops || !ops->get_sset_count || ops->get_ethtool_phy_stats)
> +	if (!ops || !ops->get_sset_count || !ops->get_ethtool_phy_stats)
>   		return -EOPNOTSUPP;
>   
>   	n_stats = ops->get_sset_count(dev, ETH_SS_PHY_STATS);

Thank you,
both the change and provided Fixes tag are correct.

Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@intel.com>