]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
page_pool: make page_pool_get_dma_addr() just wrap page_pool_get_dma_addr_netmem()
authorByungchul Park <byungchul@sk.com>
Wed, 2 Jul 2025 05:32:56 +0000 (14:32 +0900)
committerJakub Kicinski <kuba@kernel.org>
Tue, 8 Jul 2025 01:40:10 +0000 (18:40 -0700)
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>
include/net/page_pool/helpers.h

index 773fc65780b54f5e9f818b6d7d1f98ffa73170ac..db180626be06d5ad931e68abe08a15ea578e7832 100644 (file)
@@ -444,12 +444,7 @@ static inline dma_addr_t page_pool_get_dma_addr_netmem(netmem_ref netmem)
  */
 static inline dma_addr_t page_pool_get_dma_addr(const struct page *page)
 {
-       dma_addr_t ret = page->dma_addr;
-
-       if (PAGE_POOL_32BIT_ARCH_WITH_64BIT_DMA)
-               ret <<= PAGE_SHIFT;
-
-       return ret;
+       return page_pool_get_dma_addr_netmem(page_to_netmem(page));
 }
 
 static inline void __page_pool_dma_sync_for_cpu(const struct page_pool *pool,