Re: [PATCH net-next] net: psample: fix flag being set in wrong skb

From: Ilya Maximets
Date: Tue Jul 09 2024 - 18:57:41 EST


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@xxxxxxxxxx>
> ---
> 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.