Re: [PATCH] net: ti: icssg-prueth: fix missing data copy and wrong recycle in ZC RX dispatch
From: David CARLIER
Date: Fri Mar 27 2026 - 06:46:14 EST
Hi Simon and thanks for the feedback, will keep this in mind. Cheers !
On Fri, 27 Mar 2026 at 10:29, Simon Horman <horms@xxxxxxxxxx> wrote:
>
> + 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
>
> ...