summaryrefslogtreecommitdiffstats
path: root/net/core/skbuff.c
diff options
context:
space:
mode:
authorYunsheng Lin <linyunsheng@huawei.com>2022-10-21 10:58:22 +0800
committerDavid S. Miller <davem@davemloft.net>2022-10-24 13:03:43 +0100
commit4727bab4e9bbeafeff6acdfcb077a7a548cbde30 (patch)
tree81e6f0ad80f05b57f87b507980207ecf5f4a5f97 /net/core/skbuff.c
parent127b7218bfdd60205cfe2fa3f06d95e85a2650ed (diff)
downloadlinux-4727bab4e9bbeafeff6acdfcb077a7a548cbde30.tar.gz
linux-4727bab4e9bbeafeff6acdfcb077a7a548cbde30.tar.bz2
linux-4727bab4e9bbeafeff6acdfcb077a7a548cbde30.zip
net: skb: move skb_pp_recycle() to skbuff.c
skb_pp_recycle() is only used by skb_free_head() in skbuff.c, so move it to skbuff.c. Signed-off-by: Yunsheng Lin <linyunsheng@huawei.com> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/skbuff.c')
-rw-r--r--net/core/skbuff.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 1d9719e72f9d..9b3b19816d2d 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -748,6 +748,13 @@ static void skb_clone_fraglist(struct sk_buff *skb)
skb_get(list);
}
+static bool skb_pp_recycle(struct sk_buff *skb, void *data)
+{
+ if (!IS_ENABLED(CONFIG_PAGE_POOL) || !skb->pp_recycle)
+ return false;
+ return page_pool_return_skb_page(virt_to_page(data));
+}
+
static void skb_free_head(struct sk_buff *skb)
{
unsigned char *head = skb->head;