From: Mina Almasry Date: Thu, 21 Aug 2025 03:03:46 +0000 (+0000) Subject: page_pool: fix incorrect mp_ops error handling X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=abadf0ff63be488dc502ecfc9f622929a21b7117;p=users%2Fjedix%2Flinux-maple.git page_pool: fix incorrect mp_ops error handling 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 Reviewed-by: Samiullah Khawaja Link: https://patch.msgid.link/20250821030349.705244-1-almasrymina@google.com Signed-off-by: Jakub Kicinski --- diff --git a/net/core/page_pool.c b/net/core/page_pool.c index 343a6cac21e3b..ba70569bd4b05 100644 --- a/net/core/page_pool.c +++ b/net/core/page_pool.c @@ -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;