[patch net-next v2] ethtool: cabletest: fix wrong conditional check

Diogo Jahchan Koike posted 1 patch 1 year, 3 months ago
net/ethtool/cabletest.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[patch net-next v2] ethtool: cabletest: fix wrong conditional check
Posted by Diogo Jahchan Koike 1 year, 3 months ago
In ethnl_act_cable_test_tdr, phydev is tested for the condition of being
null or an error by checking IS_ERR_OR_NULL, however the result is being
negated and lets a null phydev go through. Simply removing the logical
NOT on the conditional suffices.

Reported-by: syzbot+5cf270e2069645b6bd2c@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=5cf270e2069645b6bd2c
Fixes: 3688ff3077d3 ("net: ethtool: cable-test: Target the command to the requested PHY")
Signed-off-by: Diogo Jahchan Koike <djahchankoike@gmail.com>
---
The previous patch was sent without the appropriate tags, apologize for
that.
---
 net/ethtool/cabletest.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/ethtool/cabletest.c b/net/ethtool/cabletest.c
index d365ad5f5434..f25da884b3dd 100644
--- a/net/ethtool/cabletest.c
+++ b/net/ethtool/cabletest.c
@@ -346,7 +346,7 @@ int ethnl_act_cable_test_tdr(struct sk_buff *skb, struct genl_info *info)
 	phydev = ethnl_req_get_phydev(&req_info,
 				      tb[ETHTOOL_A_CABLE_TEST_TDR_HEADER],
 				      info->extack);
-	if (!IS_ERR_OR_NULL(phydev)) {
+	if (IS_ERR_OR_NULL(phydev)) {
 		ret = -EOPNOTSUPP;
 		goto out_dev_put;
 	}
-- 
2.43.0
Re: [patch net-next v2] ethtool: cabletest: fix wrong conditional check
Posted by Jakub Kicinski 1 year, 3 months ago
On Tue, 27 Aug 2024 23:09:19 -0300 Diogo Jahchan Koike wrote:
> In ethnl_act_cable_test_tdr, phydev is tested for the condition of being
> null or an error by checking IS_ERR_OR_NULL, however the result is being
> negated and lets a null phydev go through. Simply removing the logical
> NOT on the conditional suffices.
> 
> Reported-by: syzbot+5cf270e2069645b6bd2c@syzkaller.appspotmail.com
> Closes: https://syzkaller.appspot.com/bug?extid=5cf270e2069645b6bd2c
> Fixes: 3688ff3077d3 ("net: ethtool: cable-test: Target the command to the requested PHY")
> Signed-off-by: Diogo Jahchan Koike <djahchankoike@gmail.com>
> ---
> The previous patch was sent without the appropriate tags, apologize for
> that.

You were already told by Eric not to repost within 24h.

https://lore.kernel.org/all/CANn89iJ0qNYP8zMz6jDtP2=n23emnue4m2tyJkE64QL_xiwc9Q@mail.gmail.com/

There's already a fix from Maxime pending for this:
https://lore.kernel.org/all/20240827092314.2500284-1-maxime.chevallier@bootlin.com/

I didn't need to see the tags to tell you this.

> diff --git a/net/ethtool/cabletest.c b/net/ethtool/cabletest.c
> index d365ad5f5434..f25da884b3dd 100644
> --- a/net/ethtool/cabletest.c
> +++ b/net/ethtool/cabletest.c
> @@ -346,7 +346,7 @@ int ethnl_act_cable_test_tdr(struct sk_buff *skb, struct genl_info *info)
>  	phydev = ethnl_req_get_phydev(&req_info,
>  				      tb[ETHTOOL_A_CABLE_TEST_TDR_HEADER],
>  				      info->extack);
> -	if (!IS_ERR_OR_NULL(phydev)) {
> +	if (IS_ERR_OR_NULL(phydev)) {
>  		ret = -EOPNOTSUPP;
>  		goto out_dev_put;
>  	}

-- 
pw-bot: nap
pv-bot: 24h