skbuff: Add a function to check if a page belongs to page_pool
authorLiang Chen <liangchen.linux@gmail.com>
Fri, 15 Dec 2023 03:30:10 +0000 (11:30 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 17 Dec 2023 10:56:33 +0000 (10:56 +0000)
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 <liangchen.linux@gmail.com>
Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Mina Almasry <almarsymina@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/skbuff.c

index 83af8aaeb893b1a89bc034ee0d034d4f96318c6f..2f977fffd3ec911055a652d388ec004c6cf9ba1e 100644 (file)
@@ -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;