Re: [PATCH] net: ti: icssg-prueth: fix missing data copy and wrong recycle in ZC RX dispatch
From: Simon Horman
Date: Fri Mar 27 2026 - 06:44:50 EST
+ Meghana Malladi
On Wed, Mar 25, 2026 at 12:51:30PM +0000, David Carlier wrote:
> emac_dispatch_skb_zc() allocates a new skb via napi_alloc_skb() but
> never copies the packet data from the XDP buffer into it. The skb is
> passed up the stack containing uninitialized heap memory instead of
> the actual received packet, leaking kernel heap contents to userspace.
>
> Copy the received packet data from the XDP buffer into the skb using
> skb_copy_to_linear_data().
>
> Additionally, remove the skb_mark_for_recycle() call since the skb is
> backed by the NAPI page frag allocator, not page_pool. Marking a
> non-page_pool skb for recycle causes the free path to return pages to
> a page_pool that does not own them, corrupting page_pool state.
>
> The non-ZC path (emac_rx_packet) does not have these issues because it
> uses napi_build_skb() to wrap the existing page_pool page directly,
> requiring no copy, and correctly marks for recycle since the page comes
> from page_pool_dev_alloc_pages().
>
> Fixes: 7a64bb388df3 ("net: ti: icssg-prueth: Add AF_XDP zero copy for RX")
> Signed-off-by: David Carlier <devnexen@xxxxxxxxx>
> ---
> drivers/net/ethernet/ti/icssg/icssg_common.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Hi David,
Thanks for the update.
My understanding is that this addresses the review of v1.
Reviewed-by: Simon Horman <horms@xxxxxxxxxx>
v1: https://lore.kernel.org/all/20260324211402.342474-1-devnexen@xxxxxxxxx/
Some points to keep in mind for the future:
* Please include a version number in the subject when posting versions >
This helps a lot in tracking things.
Subject: [PATCH v2] ...
* Please include the target tree. As a fix for code, which I asusme
is present in net, in this case that would be the net tree.
Subject: [PATCH net v2] ...
Otherwise it would probably be the net-next tree.
* Please CC all relevant parties. In this case that would
include Meghana as he provided review of v1.
* Please consider including a changelog, along with links to earlier
versions below the scissors ("---")
* b4 can help with most of these things
* More information on the Netdev development process can be found at
https://docs.kernel.org/process/maintainer-netdev.html
...