Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

page_pool: make page_pool_get_dma_addr() just wrap page_pool_get_dma_addr_netmem()

The page pool members in struct page cannot be removed unless it's not
allowed to access any of them via struct page.

Do not access 'page->dma_addr' directly in page_pool_get_dma_addr() but
just wrap page_pool_get_dma_addr_netmem() safely.

Signed-off-by: Byungchul Park <byungchul@sk.com>
Reviewed-by: Mina Almasry <almasrymina@google.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Toke Høiland-Jørgensen <toke@redhat.com>
Reviewed-by: Pavel Begunkov <asml.silence@gmail.com>
Acked-by: Jesper Dangaard Brouer <hawk@kernel.org>
Link: https://patch.msgid.link/20250702053256.4594-6-byungchul@sk.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Byungchul Park and committed by
Jakub Kicinski
d8bf56a0 4369d40d

+1 -6
+1 -6
include/net/page_pool/helpers.h
··· 444 444 */ 445 445 static inline dma_addr_t page_pool_get_dma_addr(const struct page *page) 446 446 { 447 - dma_addr_t ret = page->dma_addr; 448 - 449 - if (PAGE_POOL_32BIT_ARCH_WITH_64BIT_DMA) 450 - ret <<= PAGE_SHIFT; 451 - 452 - return ret; 447 + return page_pool_get_dma_addr_netmem(page_to_netmem(page)); 453 448 } 454 449 455 450 static inline void __page_pool_dma_sync_for_cpu(const struct page_pool *pool,