]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: libwx: handle page_pool_dev_alloc_pages error
authorChenyuan Yang <chenyuan0y@gmail.com>
Mon, 7 Apr 2025 18:49:52 +0000 (13:49 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 25 Apr 2025 08:45:08 +0000 (10:45 +0200)
[ Upstream commit 7f1ff1b38a7c8b872382b796023419d87d78c47e ]

page_pool_dev_alloc_pages could return NULL. There was a WARN_ON(!page)
but it would still proceed to use the NULL pointer and then crash.

This is similar to commit 001ba0902046
("net: fec: handle page_pool_dev_alloc_pages error").

This is found by our static analysis tool KNighter.

Signed-off-by: Chenyuan Yang <chenyuan0y@gmail.com>
Fixes: 3c47e8ae113a ("net: libwx: Support to receive packets in NAPI")
Reviewed-by: Joe Damato <jdamato@fastly.com>
Link: https://patch.msgid.link/20250407184952.2111299-1-chenyuan0y@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/wangxun/libwx/wx_lib.c

index c37500aa06379129a4db87b48bed9603b36cf722..c019fe964eceaf9f29dea827ed9230a0f21a15bc 100644 (file)
@@ -311,7 +311,8 @@ static bool wx_alloc_mapped_page(struct wx_ring *rx_ring,
                return true;
 
        page = page_pool_dev_alloc_pages(rx_ring->page_pool);
-       WARN_ON(!page);
+       if (unlikely(!page))
+               return false;
        dma = page_pool_get_dma_addr(page);
 
        bi->page_dma = dma;