From: Eric Dumazet Date: Fri, 21 Apr 2023 09:43:53 +0000 (+0000) Subject: net: add debugging checks in skb_attempt_defer_free() X-Git-Tag: v6.6.17~4755^2~63^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e8e1ce8454c9cc8ad2e4422bef346428e52455e3;p=platform%2Fkernel%2Flinux-rpi.git net: add debugging checks in skb_attempt_defer_free() Make sure skbs that are stored in softnet_data.defer_list do not have a dst attached. Also make sure the the skb was orphaned. Link: https://lore.kernel.org/netdev/CANn89iJuEVe72bPmEftyEJHLzzN=QNR2yueFjTxYXCEpS5S8HQ@mail.gmail.com/T/ Signed-off-by: Eric Dumazet Signed-off-by: David S. Miller --- diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 0d998806b377..bd815a00d2af 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -6881,6 +6881,9 @@ nodefer: __kfree_skb(skb); return; } + DEBUG_NET_WARN_ON_ONCE(skb_dst(skb)); + DEBUG_NET_WARN_ON_ONCE(skb->destructor); + sd = &per_cpu(softnet_data, cpu); defer_max = READ_ONCE(sysctl_skb_defer_max); if (READ_ONCE(sd->defer_count) >= defer_max)