aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiang Chen <[email protected]>2023-12-15 11:30:10 +0800
committerDavid S. Miller <[email protected]>2023-12-17 10:56:33 +0000
commit8cfa2dee325f72f286f8f3210f867cbb981f2302 (patch)
treec3a133cd3d9b158d7d15cb15686ad63aec49c4df
parentaaf153aecef1d1831d0d6d371d5c11cf02f0337e (diff)
skbuff: Add a function to check if a page belongs to page_pool
Wrap code for checking if a page is a page_pool page into a function for better readability and ease of reuse. Signed-off-by: Liang Chen <[email protected]> Reviewed-by: Yunsheng Lin <[email protected]> Reviewed-by: Ilias Apalodimas <[email protected]> Reviewed-by: Mina Almasry <[email protected]> Signed-off-by: David S. Miller <[email protected]>
-rw-r--r--net/core/skbuff.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index 83af8aaeb893..2f977fffd3ec 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -890,6 +890,11 @@ static void skb_clone_fraglist(struct sk_buff *skb)
skb_get(list);
}
+static bool is_pp_page(struct page *page)
+{
+ return (page->pp_magic & ~0x3UL) == PP_SIGNATURE;
+}
+
#if IS_ENABLED(CONFIG_PAGE_POOL)
bool napi_pp_put_page(struct page *page, bool napi_safe)
{
@@ -905,7 +910,7 @@ bool napi_pp_put_page(struct page *page, bool napi_safe)
* and page_is_pfmemalloc() is checked in __page_pool_put_page()
* to avoid recycling the pfmemalloc page.
*/
- if (unlikely((page->pp_magic & ~0x3UL) != PP_SIGNATURE))
+ if (unlikely(!is_pp_page(page)))
return false;
pp = page->pp;