APPLIED: [PATCH] UBUNTU: SAUCE: skbuff: Release nfct refcount on napi stolen or re-used skbs
Kelsey Skunberg
kelsey.skunberg at canonical.com
Sat May 29 00:44:30 UTC 2021
Applied to F/bluefield master-next. thank you!
-Kelsey
On 2021-05-27 18:48:52 , Daniel Jurgens wrote:
> From: Paul Blakey <paulb at nvidia.com>
>
> BugLink: https://bugs.launchpad.net/bugs/1929844
>
> When multiple SKBs are merged to a new skb under napi GRO,
> or SKB is re-used by napi, if nfct was set for them in the
> driver, it will not be released while freeing their stolen
> head state or on re-use.
>
> Release nfct on napi's stolen or re-used SKBs.
>
> Fixes: 5c6b94604744 ("net/mlx5e: CT: Handle misses after executing CT action")
> Reviewed-by: Roi Dayan <roid at nvidia.com>
> Signed-off-by: Paul Blakey <paulb at nvidia.com>
> Signed-off-by: Daniel Jurgens <danielj at nvidia.com>
> ---
> net/core/dev.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/net/core/dev.c b/net/core/dev.c
> index a0d7cb6..7d8f582 100644
> --- a/net/core/dev.c
> +++ b/net/core/dev.c
> @@ -5602,6 +5602,7 @@ struct packet_offload *gro_find_complete_by_type(__be16 type)
>
> static void napi_skb_free_stolen_head(struct sk_buff *skb)
> {
> + nf_conntrack_put(skb_nfct(skb));
> skb_dst_drop(skb);
> skb_ext_put(skb);
> kmem_cache_free(skbuff_head_cache, skb);
> @@ -5672,6 +5673,7 @@ static void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb)
> skb_shinfo(skb)->gso_type = 0;
> skb->truesize = SKB_TRUESIZE(skb_end_offset(skb));
> skb_ext_reset(skb);
> + nf_reset_ct(skb);
>
> napi->skb = skb;
> }
> --
> 1.8.3.1
>
>
> --
> kernel-team mailing list
> kernel-team at lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team
More information about the kernel-team
mailing list