2023-01-11 18:09:29

by Piergiorgio Beruto

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

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.

Signed-off-by: Piergiorgio Beruto <[email protected]>
---
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)
+ 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


2023-01-12 12:54:49

by Andrew Lunn

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

On Wed, Jan 11, 2023 at 06:30:48PM +0100, Piergiorgio Beruto 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.
>
> Signed-off-by: Piergiorgio Beruto <[email protected]>

Reviewed-by: Andrew Lunn <[email protected]>

Andrew

2023-01-12 15:23:54

by Eric Dumazet

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

On Wed, Jan 11, 2023 at 6:30 PM Piergiorgio Beruto
<[email protected]> 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 <[email protected]>
> ---
> 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
>

2023-01-12 16:00:33

by Piergiorgio Beruto

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

On Thu, Jan 12, 2023 at 03:45:03PM +0100, Eric Dumazet wrote:
> On Wed, Jan 11, 2023 at 6:30 PM Piergiorgio Beruto
> <[email protected]> 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 <[email protected]>
> > ---
> > 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