]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
page_pool: fix incorrect mp_ops error handling
authorMina Almasry <almasrymina@google.com>
Thu, 21 Aug 2025 03:03:46 +0000 (03:03 +0000)
committerJakub Kicinski <kuba@kernel.org>
Fri, 22 Aug 2025 22:52:02 +0000 (15:52 -0700)
Minor fix to the memory provider error handling, we should be jumping to
free_ptr_ring in this error case rather than returning directly.

Found by code-inspection.

Cc: skhawaja@google.com
Fixes: b400f4b87430 ("page_pool: Set `dma_sync` to false for devmem memory provider")
Signed-off-by: Mina Almasry <almasrymina@google.com>
Reviewed-by: Samiullah Khawaja <skhawaja@google.com>
Link: https://patch.msgid.link/20250821030349.705244-1-almasrymina@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/page_pool.c

index 343a6cac21e3b5d66a189cd32c60fc7c61dec50f..ba70569bd4b051129d3ec7a56cd3c61fd57a0b79 100644 (file)
@@ -287,8 +287,10 @@ static int page_pool_init(struct page_pool *pool,
        }
 
        if (pool->mp_ops) {
-               if (!pool->dma_map || !pool->dma_sync)
-                       return -EOPNOTSUPP;
+               if (!pool->dma_map || !pool->dma_sync) {
+                       err = -EOPNOTSUPP;
+                       goto free_ptr_ring;
+               }
 
                if (WARN_ON(!is_kernel_rodata((unsigned long)pool->mp_ops))) {
                        err = -EFAULT;