[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20221029130957.1292060-2-imagedong@tencent.com>
Date: Sat, 29 Oct 2022 21:09:49 +0800
From: menglong8.dong@...il.com
To: edumazet@...gle.com, kuba@...nel.org
Cc: davem@...emloft.net, pabeni@...hat.com, yoshfuji@...ux-ipv6.org,
dsahern@...nel.org, imagedong@...cent.com, kafai@...com,
asml.silence@...il.com, keescook@...omium.org,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: [PATCH net-next 1/9] net: skb: introduce try_kfree_skb()
From: Menglong Dong <imagedong@...cent.com>
In order to simply the code, introduce try_kfree_skb(), which allow
SKB_NOT_DROPPED_YET to be passed. When the reason is SKB_NOT_DROPPED_YET,
consume_skb() will be called to free the skb normally. Otherwise,
kfree_skb_reason() will be called.
Signed-off-by: Menglong Dong <imagedong@...cent.com>
---
include/linux/skbuff.h | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 59c9fd55699d..f722accc054e 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -1236,6 +1236,15 @@ static inline void consume_skb(struct sk_buff *skb)
}
#endif
+static inline void try_kfree_skb(struct sk_buff *skb,
+ enum skb_drop_reason reason)
+{
+ if (reason != SKB_NOT_DROPPED_YET)
+ kfree_skb_reason(skb, reason);
+ else
+ consume_skb(skb);
+}
+
void __consume_stateless_skb(struct sk_buff *skb);
void __kfree_skb(struct sk_buff *skb);
extern struct kmem_cache *skbuff_head_cache;
--
2.37.2
Powered by blists - more mailing lists