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

From: Eric Dumazet
Date: Thu Jan 12 2023 - 09:59:35 EST


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

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() ... )


> + 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
>