Re: [PATCH net v5 0/8] xsk: fix bugs around xsk skb allocation

Alexander Lobakin
2026-05-05T15:45:15Z

From: Jason Xing <kerneljasonxing@gmail.com>
Date: Sat, 2 May 2026 23:07:14 +0300

> From: Jason Xing <kernelxing@tencent.com>
>
> There are rare issues around xsk_build_skb(). Some of them
> were founded by Sashiko[1][2].

For the series:

Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>

Just don't forget to look at Sashiko's replies, I haven't looked deep
into them, so can't say whether anything there makes sense.

>
> [1]: https://lore.kernel.org/all/20260415082654.21026-1-kerneljasonxing@gmail.com/
> [2]: https://lore.kernel.org/all/20260418045644.28612-1-kerneljasonxing@gmail.com/
>
> ---
> v5
> Link: https://lore.kernel.org/all/20260424053816.27965-1-kerneljasonxing@gmail.com/
> 1. reword patch 3
> 2. adjust the order of patch 6 that is now moved up to be patch 2)
> 3. use helper in patch (Stan)
>
> v4
> Link: https://lore.kernel.org/all/20260422033650.68457-1-kerneljasonxing@gmail.com/
> 1. fix 32-bit arch issue in patch 8 (Alexander && Maciej)
> 2. add acked-by tags (Stan)
>
> v3
> Link: https://lore.kernel.org/all/20260420082805.14844-1-kerneljasonxing@gmail.com/
> 1. use !xs->skb as the indicator of first frag in patch 3 (Stan)
> 2. move init skb after it's allocated successfully, so patch 4,5,6 have
> been adjusted accordingly (Stan)
> 3. do not support 32-bit arch (Stan)
> 4. add acked-by tags (Stan)
>
> v2
> Link: https://lore.kernel.org/all/20260418045644.28612-1-kerneljasonxing@gmail.com/#t
> 1. add four patches spotted by sashiko to fix buggy pre-existing
> behavior
> 2. adjust the order of 8 patches.
>
>
>
> Jason Xing (8):
> xsk: reject sw-csum UMEM binding to IFF_TX_SKB_NO_LINEAR devices
> xsk: free the skb when hitting the upper bound MAX_SKB_FRAGS
> xsk: handle NULL dereference of the skb without frags issue
> xsk: fix use-after-free of xs->skb in xsk_build_skb() free_err path
> xsk: prevent CQ desync when freeing half-built skbs in xsk_build_skb()
> xsk: avoid skb leak in XDP_TX_METADATA case
> xsk: fix xsk_addrs slab leak on multi-buffer error path
> xsk: fix u64 descriptor address truncation on 32-bit architectures
>
> net/xdp/xsk.c | 115 ++++++++++++++++++++++++++--------------
> net/xdp/xsk_buff_pool.c | 3 ++
> 2 files changed, 77 insertions(+), 41 deletions(-)

Thanks,
Olek