Message ID | b2578acd-9838-45b6-a50d-96a86171b20e@moroto.mountain (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net] nexthop: fix uninitialized variable in nla_put_nh_group_stats() | expand |
On 3/16/24 3:46 AM, Dan Carpenter wrote: > The nh_grp_hw_stats_update() function doesn't always set "hw_stats_used" > so it could be used without being initialized. Set it to false. > > Fixes: 5072ae00aea4 ("net: nexthop: Expose nexthop group HW stats to user space") > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > --- > net/ipv4/nexthop.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c > index 74928a9d1aa4..c25bfdf4e25f 100644 > --- a/net/ipv4/nexthop.c > +++ b/net/ipv4/nexthop.c > @@ -824,8 +824,8 @@ static int nla_put_nh_group_stats(struct sk_buff *skb, struct nexthop *nh, > u32 op_flags) > { > struct nh_group *nhg = rtnl_dereference(nh->nh_grp); > + bool hw_stats_used = false; > struct nlattr *nest; > - bool hw_stats_used; > int err; > int i; > Reviewed-by: David Ahern <dsahern@kernel.org> The flag could be moved under `if (op_flags & NHA_OP_FLAG_DUMP_HW_STATS ...` as well.
On Sat, Mar 16, 2024 at 12:46:03PM +0300, Dan Carpenter wrote: > The nh_grp_hw_stats_update() function doesn't always set "hw_stats_used" > so it could be used without being initialized. Set it to false. > > Fixes: 5072ae00aea4 ("net: nexthop: Expose nexthop group HW stats to user space") > Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Sat, Mar 16, 2024 at 10:46:03AM CET, dan.carpenter@linaro.org wrote: >The nh_grp_hw_stats_update() function doesn't always set "hw_stats_used" >so it could be used without being initialized. Set it to false. > >Fixes: 5072ae00aea4 ("net: nexthop: Expose nexthop group HW stats to user space") >Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> >--- > net/ipv4/nexthop.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > >diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c >index 74928a9d1aa4..c25bfdf4e25f 100644 >--- a/net/ipv4/nexthop.c >+++ b/net/ipv4/nexthop.c >@@ -824,8 +824,8 @@ static int nla_put_nh_group_stats(struct sk_buff *skb, struct nexthop *nh, > u32 op_flags) > { > struct nh_group *nhg = rtnl_dereference(nh->nh_grp); >+ bool hw_stats_used = false; > struct nlattr *nest; >- bool hw_stats_used; Probably better to set this in one place and have: if (nexthop_notifiers_is_empty(net)) { *hw_stats_used = false; return 0; } in nh_grp_hw_stats_update(). > int err; > int i; > >-- >2.43.0 > >
On Mon, Mar 18, 2024 at 09:02:54AM +0100, Jiri Pirko wrote: > Sat, Mar 16, 2024 at 10:46:03AM CET, dan.carpenter@linaro.org wrote: > >The nh_grp_hw_stats_update() function doesn't always set "hw_stats_used" > >so it could be used without being initialized. Set it to false. > > > >Fixes: 5072ae00aea4 ("net: nexthop: Expose nexthop group HW stats to user space") > >Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> > >--- > > net/ipv4/nexthop.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > >diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c > >index 74928a9d1aa4..c25bfdf4e25f 100644 > >--- a/net/ipv4/nexthop.c > >+++ b/net/ipv4/nexthop.c > >@@ -824,8 +824,8 @@ static int nla_put_nh_group_stats(struct sk_buff *skb, struct nexthop *nh, > > u32 op_flags) > > { > > struct nh_group *nhg = rtnl_dereference(nh->nh_grp); > >+ bool hw_stats_used = false; > > struct nlattr *nest; > >- bool hw_stats_used; > > > Probably better to set this in one place and have: > if (nexthop_notifiers_is_empty(net)) { > *hw_stats_used = false; > return 0; > } > in nh_grp_hw_stats_update(). > Sure. Will do. regards, dan carpenter
diff --git a/net/ipv4/nexthop.c b/net/ipv4/nexthop.c index 74928a9d1aa4..c25bfdf4e25f 100644 --- a/net/ipv4/nexthop.c +++ b/net/ipv4/nexthop.c @@ -824,8 +824,8 @@ static int nla_put_nh_group_stats(struct sk_buff *skb, struct nexthop *nh, u32 op_flags) { struct nh_group *nhg = rtnl_dereference(nh->nh_grp); + bool hw_stats_used = false; struct nlattr *nest; - bool hw_stats_used; int err; int i;
The nh_grp_hw_stats_update() function doesn't always set "hw_stats_used" so it could be used without being initialized. Set it to false. Fixes: 5072ae00aea4 ("net: nexthop: Expose nexthop group HW stats to user space") Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org> --- net/ipv4/nexthop.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)