2021-05-08 06:26:31

by Zhen Lei

[permalink] [raw]
Subject: [PATCH 1/1] ieee802154: fix error return code in ieee802154_add_iface()

Fix to return a negative error code from the error handling
case instead of 0, as done elsewhere in this function.

Fixes: be51da0f3e34 ("ieee802154: Stop using NLA_PUT*().")
Reported-by: Hulk Robot <[email protected]>
Signed-off-by: Zhen Lei <[email protected]>
---
net/ieee802154/nl-phy.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/ieee802154/nl-phy.c b/net/ieee802154/nl-phy.c
index 2cdc7e63fe17..88215b5c93aa 100644
--- a/net/ieee802154/nl-phy.c
+++ b/net/ieee802154/nl-phy.c
@@ -241,8 +241,10 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info)
}

if (nla_put_string(msg, IEEE802154_ATTR_PHY_NAME, wpan_phy_name(phy)) ||
- nla_put_string(msg, IEEE802154_ATTR_DEV_NAME, dev->name))
+ nla_put_string(msg, IEEE802154_ATTR_DEV_NAME, dev->name)) {
+ rc = -EMSGSIZE;
goto nla_put_failure;
+ }
dev_put(dev);

wpan_phy_put(phy);
--
2.25.1



2021-06-03 08:56:29

by Stefan Schmidt

[permalink] [raw]
Subject: Re: [PATCH 1/1] ieee802154: fix error return code in ieee802154_add_iface()

Hello.

On 08.05.21 08:25, Zhen Lei wrote:
> Fix to return a negative error code from the error handling
> case instead of 0, as done elsewhere in this function.
>
> Fixes: be51da0f3e34 ("ieee802154: Stop using NLA_PUT*().")
> Reported-by: Hulk Robot <[email protected]>
> Signed-off-by: Zhen Lei <[email protected]>
> ---
> net/ieee802154/nl-phy.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/net/ieee802154/nl-phy.c b/net/ieee802154/nl-phy.c
> index 2cdc7e63fe17..88215b5c93aa 100644
> --- a/net/ieee802154/nl-phy.c
> +++ b/net/ieee802154/nl-phy.c
> @@ -241,8 +241,10 @@ int ieee802154_add_iface(struct sk_buff *skb, struct genl_info *info)
> }
>
> if (nla_put_string(msg, IEEE802154_ATTR_PHY_NAME, wpan_phy_name(phy)) ||
> - nla_put_string(msg, IEEE802154_ATTR_DEV_NAME, dev->name))
> + nla_put_string(msg, IEEE802154_ATTR_DEV_NAME, dev->name)) {
> + rc = -EMSGSIZE;
> goto nla_put_failure;
> + }
> dev_put(dev);
>
> wpan_phy_put(phy);
>

Good find. We could indeed hit a case where the IEEE802154_ATTR_HW_ADDR
attribute is present and rc would be assigned 0 before reaching this
goto nla_put_failure

This patch has been applied to the wpan tree and will be
part of the next pull request to net. Thanks!

regards
Stefan Schmidt