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