Re: [PATCH v2 19/24] xdp: Convert to netmem
From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Date: 2023-01-10 11:50:51
Also in:
linux-mm
On Thu, Jan 05, 2023 at 09:46:26PM +0000, Matthew Wilcox (Oracle) wrote:
quoted hunk ↗ jump to hunk
We dereference the 'pp' member of struct page, so we must use a netmem here. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> --- net/core/xdp.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-)diff --git a/net/core/xdp.c b/net/core/xdp.c index 844c9d99dc0e..7520c3b27356 100644 --- a/net/core/xdp.c +++ b/net/core/xdp.c@@ -375,17 +375,18 @@ EXPORT_SYMBOL_GPL(xdp_rxq_info_reg_mem_model); void __xdp_return(void *data, struct xdp_mem_info *mem, bool napi_direct, struct xdp_buff *xdp) { + struct netmem *nmem; struct page *page; switch (mem->type) { case MEM_TYPE_PAGE_POOL: - page = virt_to_head_page(data); + nmem = virt_to_netmem(data); if (napi_direct && xdp_return_frame_no_direct()) napi_direct = false; - /* No need to check ((page->pp_magic & ~0x3UL) == PP_SIGNATURE) + /* No need to check ((nmem->pp_magic & ~0x3UL) == PP_SIGNATURE) * as mem->type knows this a page_pool page */ - page_pool_put_full_page(page->pp, page, napi_direct); + page_pool_put_full_netmem(nmem->pp, nmem, napi_direct); break; case MEM_TYPE_PAGE_SHARED: page_frag_free(data); --2.35.1
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>