Message ID | 20240828021005.9886-1-djahchankoike@gmail.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next,v2] ethtool: cabletest: fix wrong conditional check | expand |
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; > }
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; }
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(-)