Message ID | 20240709203437.1257952-1-amorenoz@redhat.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [net-next] net: psample: fix flag being set in wrong skb | expand |
On 7/9/24 22:34, Adrian Moreno wrote: > A typo makes PSAMPLE_ATTR_SAMPLE_RATE netlink flag be added to the wrong > sk_buff. > > Fixes: 7b1b2b60c63f ("net: psample: allow using rate as probability") > Signed-off-by: Adrian Moreno <amorenoz@redhat.com> > --- > net/psample/psample.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/net/psample/psample.c b/net/psample/psample.c > index f48b5b9cd409..11b7533067b8 100644 > --- a/net/psample/psample.c > +++ b/net/psample/psample.c > @@ -498,7 +498,7 @@ void psample_sample_packet(struct psample_group *group, struct sk_buff *skb, > goto error; > > if (md->rate_as_probability) > - nla_put_flag(skb, PSAMPLE_ATTR_SAMPLE_PROBABILITY); > + nla_put_flag(nl_skb, PSAMPLE_ATTR_SAMPLE_PROBABILITY); > > genlmsg_end(nl_skb, data); > genlmsg_multicast_netns(&psample_nl_family, group->net, nl_skb, 0, Uff. Nasty. I'd say we should change the function argument to 'const' to avoid such issues in the future. There is no reason for this function to modify the original packet. What do you think? Best regards, Ilya Maximets.
On Wed, Jul 10, 2024 at 12:57:14AM GMT, Ilya Maximets wrote: > On 7/9/24 22:34, Adrian Moreno wrote: > > A typo makes PSAMPLE_ATTR_SAMPLE_RATE netlink flag be added to the wrong > > sk_buff. > > > > Fixes: 7b1b2b60c63f ("net: psample: allow using rate as probability") > > Signed-off-by: Adrian Moreno <amorenoz@redhat.com> > > --- > > net/psample/psample.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/net/psample/psample.c b/net/psample/psample.c > > index f48b5b9cd409..11b7533067b8 100644 > > --- a/net/psample/psample.c > > +++ b/net/psample/psample.c > > @@ -498,7 +498,7 @@ void psample_sample_packet(struct psample_group *group, struct sk_buff *skb, > > goto error; > > > > if (md->rate_as_probability) > > - nla_put_flag(skb, PSAMPLE_ATTR_SAMPLE_PROBABILITY); > > + nla_put_flag(nl_skb, PSAMPLE_ATTR_SAMPLE_PROBABILITY); > > > > genlmsg_end(nl_skb, data); > > genlmsg_multicast_netns(&psample_nl_family, group->net, nl_skb, 0, > > Uff. Nasty. > > I'd say we should change the function argument to 'const' to avoid such > issues in the future. There is no reason for this function to modify > the original packet. What do you think? > Yes, that's probably a good idea. Adrián. > Best regards, Ilya Maximets. >
diff --git a/net/psample/psample.c b/net/psample/psample.c index f48b5b9cd409..11b7533067b8 100644 --- a/net/psample/psample.c +++ b/net/psample/psample.c @@ -498,7 +498,7 @@ void psample_sample_packet(struct psample_group *group, struct sk_buff *skb, goto error; if (md->rate_as_probability) - nla_put_flag(skb, PSAMPLE_ATTR_SAMPLE_PROBABILITY); + nla_put_flag(nl_skb, PSAMPLE_ATTR_SAMPLE_PROBABILITY); genlmsg_end(nl_skb, data); genlmsg_multicast_netns(&psample_nl_family, group->net, nl_skb, 0,
A typo makes PSAMPLE_ATTR_SAMPLE_RATE netlink flag be added to the wrong sk_buff. Fixes: 7b1b2b60c63f ("net: psample: allow using rate as probability") Signed-off-by: Adrian Moreno <amorenoz@redhat.com> --- net/psample/psample.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)