Re: [PATCH net-next 1/1] plca.c: fix obvious mistake in checking retval

From: Piergiorgio Beruto
Date: Thu Jan 12 2023 - 10:37:56 EST


On Thu, Jan 12, 2023 at 03:45:03PM +0100, Eric Dumazet wrote:
> On Wed, Jan 11, 2023 at 6:30 PM Piergiorgio Beruto
> <piergiorgio.beruto@xxxxxxxxx> wrote:
> >
> > This patch addresses a wrong fix that was done during the review
> > process. The intention was to substitute "if(ret < 0)" with
> > "if(ret)". Unfortunately, in this specific file the intended fix did not
> > meet the code.
> >
>
> Please add a Fixes: tag, even for a patch in net-next
Ok, will do, thanks!
>
> Fixes: 8580e16c28f3 ("net/ethtool: add netlink interface for the PLCA RS")
>
> > Signed-off-by: Piergiorgio Beruto <piergiorgio.beruto@xxxxxxxxx>
> > ---
> > net/ethtool/plca.c | 10 +++++-----
> > 1 file changed, 5 insertions(+), 5 deletions(-)
> >
> > diff --git a/net/ethtool/plca.c b/net/ethtool/plca.c
> > index d9bb13ffc654..9c7d29186b4e 100644
> > --- a/net/ethtool/plca.c
> > +++ b/net/ethtool/plca.c
> > @@ -61,7 +61,7 @@ static int plca_get_cfg_prepare_data(const struct ethnl_req_info *req_base,
> > }
> >
> > ret = ethnl_ops_begin(dev);
> > - if (!ret)
> > + if (ret)
> > goto out;
> >
> > memset(&data->plca_cfg, 0xff,
> > @@ -151,7 +151,7 @@ int ethnl_set_plca_cfg(struct sk_buff *skb, struct genl_info *info)
> > tb[ETHTOOL_A_PLCA_HEADER],
> > genl_info_net(info), info->extack,
> > true);
> > - if (!ret)
>
> Canonical way of testing an error from ethnl_parse_header_dev_get() is:
>
> if (ret < 0)
> return ret;
>
>
> Please double check for the rest of the patch (ethnl_ops_begin() ... )
Ok, this is what I had originally. I changed that due to another review
comment. I'll revert this change.
>
>
> > + if (ret)
> > return ret;
> >
> > dev = req_info.dev;
> > @@ -171,7 +171,7 @@ int ethnl_set_plca_cfg(struct sk_buff *skb, struct genl_info *info)
> > }
> >
> > ret = ethnl_ops_begin(dev);
> > - if (!ret)
> > + if (ret)
> > goto out_rtnl;
> >
> > memset(&plca_cfg, 0xff, sizeof(plca_cfg));
> > @@ -189,7 +189,7 @@ int ethnl_set_plca_cfg(struct sk_buff *skb, struct genl_info *info)
> > goto out_ops;
> >
> > ret = ops->set_plca_cfg(dev->phydev, &plca_cfg, info->extack);
> > - if (!ret)
> > + if (ret)
> > goto out_ops;
> >
> > ethtool_notify(dev, ETHTOOL_MSG_PLCA_NTF, NULL);
> > @@ -233,7 +233,7 @@ static int plca_get_status_prepare_data(const struct ethnl_req_info *req_base,
> > }
> >
> > ret = ethnl_ops_begin(dev);
> > - if (!ret)
> > + if (ret)
> > goto out;
> >
> > memset(&data->plca_st, 0xff,
> > --
> > 2.37.4
> >
Thanks!
Piergiorgio