mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
xsk: fix XDP_UMEM_SG_FLAG issues
Currently xp_assign_dev_shared() is missing XDP_USE_SG being propagated
to flags so set it in order to preserve mtu check that is supposed to be
done only when no multi-buffer setup is in picture.
Also, this flag has the same value as XDP_UMEM_TX_SW_CSUM so we could
get unexpected SG setups for software Tx checksums. Since csum flag is
UAPI, modify value of XDP_UMEM_SG_FLAG.
Fixes: d609f3d228 ("xsk: add multi-buffer support for sockets sharing umem")
Reviewed-by: Björn Töpel <bjorn@kernel.org>
Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Link: https://patch.msgid.link/20260402154958.562179-4-maciej.fijalkowski@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
1ee1605138
commit
93e84fe45b
|
|
@ -14,7 +14,7 @@
|
|||
#include <linux/mm.h>
|
||||
#include <net/sock.h>
|
||||
|
||||
#define XDP_UMEM_SG_FLAG (1 << 1)
|
||||
#define XDP_UMEM_SG_FLAG BIT(3)
|
||||
|
||||
struct net_device;
|
||||
struct xsk_queue;
|
||||
|
|
|
|||
|
|
@ -247,6 +247,10 @@ int xp_assign_dev_shared(struct xsk_buff_pool *pool, struct xdp_sock *umem_xs,
|
|||
struct xdp_umem *umem = umem_xs->umem;
|
||||
|
||||
flags = umem->zc ? XDP_ZEROCOPY : XDP_COPY;
|
||||
|
||||
if (umem->flags & XDP_UMEM_SG_FLAG)
|
||||
flags |= XDP_USE_SG;
|
||||
|
||||
if (umem_xs->pool->uses_need_wakeup)
|
||||
flags |= XDP_USE_NEED_WAKEUP;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user