]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
net: airoha: Fix memory leak in airoha_qdma_rx_process()
authorLorenzo Bianconi <lorenzo@kernel.org>
Thu, 2 Apr 2026 12:57:10 +0000 (14:57 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Apr 2026 11:30:37 +0000 (13:30 +0200)
commit7ee0063fbab8aea8f4e4e3165f541bf898b77b80
tree3f716df2e7b36645884b4ce85d5bcce853570548
parentb117056768ab7deb434e7d72065e48d2083a0c2a
net: airoha: Fix memory leak in airoha_qdma_rx_process()

[ Upstream commit 285fa6b1e03cff78ead0383e1b259c44b95faf90 ]

If an error occurs on the subsequents buffers belonging to the
non-linear part of the skb (e.g. due to an error in the payload length
reported by the NIC or if we consumed all the available fragments for
the skb), the page_pool fragment will not be linked to the skb so it will
not return to the pool in the airoha_qdma_rx_process() error path. Fix the
memory leak partially reverting commit 'd6d2b0e1538d ("net: airoha: Fix
page recycling in airoha_qdma_rx_process()")' and always running
page_pool_put_full_page routine in the airoha_qdma_rx_process() error
path.

Fixes: d6d2b0e1538d ("net: airoha: Fix page recycling in airoha_qdma_rx_process()")
Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20260402-airoha_qdma_rx_process-mem-leak-fix-v1-1-b5706f402d3c@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/airoha/airoha_eth.c