ieee802154: hwsim: fix off-by-one in parse nested
Subsystems (2)
PATCH v2 1/1 ieee802154: hwsim: fix off-by-one in parse nested
This patch fixes a off-by-one mistake in nla_parse_nested() functions of mac802154_hwsim driver. I had to enabled stack protector so I was able to reproduce it.
Reference: https://github.com/linux-wpan/wpan-tools/issues/17
--- drivers/net/ieee802154/mac802154_hwsim.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/net/ieee802154/mac802154_hwsim.c +2 -2
@@ -500,7 +500,7 @@ static int hwsim_del_edge_nl(struct sk_buff *msg, struct genl_info *info) !info->attrs[MAC802154_HWSIM_ATTR_RADIO_EDGE])return -EINVAL ; -if (nla_parse_nested (edge_attrs,MAC802154_HWSIM_EDGE_ATTR_MAX +1 , +if (nla_parse_nested (edge_attrs,MAC802154_HWSIM_EDGE_ATTR_MAX , info->attrs[MAC802154_HWSIM_ATTR_RADIO_EDGE ], hwsim_edge_policy,NULL ))return -EINVAL ;
@@ -550,7 +550,7 @@ static int hwsim_set_edge_lqi(struct sk_buff *msg, struct genl_info *info) !info->attrs[MAC802154_HWSIM_ATTR_RADIO_EDGE])return -EINVAL ; -if (nla_parse_nested (edge_attrs,MAC802154_HWSIM_EDGE_ATTR_MAX +1 , +if (nla_parse_nested (edge_attrs,MAC802154_HWSIM_EDGE_ATTR_MAX , info->attrs[MAC802154_HWSIM_ATTR_RADIO_EDGE ], hwsim_edge_policy,NULL ))return -EINVAL ;
Signature · 1 line
2.11.0
Stefan Schmidt
maintainerHello.
Quoted 26 lines · Alexander Aring
This patch fixes a off-by-one mistake in
nla_parse_nested()functions ofmac802154_hwsimdriver. I had to enabled stack protector so I was able to reproduce it.Reference: https://github.com/linux-wpan/wpan-tools/issues/17
Signed-off-by Alexander Aring <[email protected]>--- drivers/net/ieee802154/mac802154_hwsim.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/net/ieee802154/mac802154_hwsim.c +1
-1@@ -500,7 +500,7 @@ static int hwsim_del_edge_nl(struct sk_buff *msg, struct genl_info *info) !info->attrs[MAC802154_HWSIM_ATTR_RADIO_EDGE])return -EINVAL ; -if (nla_parse_nested (edge_attrs,MAC802154_HWSIM_EDGE_ATTR_MAX +1 , +if (nla_parse_nested (edge_attrs,MAC802154_HWSIM_EDGE_ATTR_MAX , info->attrs[MAC802154_HWSIM_ATTR_RADIO_EDGE ], hwsim_edge_policy,NULL ))return -EINVAL ;
drivers/net/ieee802154/mac802154_hwsim.c static int hwsim_set_edge_lqi(struct sk_buff *msg, struct genl_info *info) · line 556
Quoted 8 lines
drivers/net/ieee802154/mac802154_hwsim.c +1
-1@@ -550,7 +550,7 @@ static int hwsim_set_edge_lqi(struct sk_buff *msg, struct genl_info *info) !info->attrs[MAC802154_HWSIM_ATTR_RADIO_EDGE])return -EINVAL ; -if (nla_parse_nested (edge_attrs,MAC802154_HWSIM_EDGE_ATTR_MAX +1 , +if (nla_parse_nested (edge_attrs,MAC802154_HWSIM_EDGE_ATTR_MAX , info->attrs[MAC802154_HWSIM_ATTR_RADIO_EDGE ], hwsim_edge_policy,NULL ))return -EINVAL ;
This patch has been applied to the wpan tree and will be part of the next pull request to net. Thanks!
regards
Stefan Schmidt