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

...