linux/drivers/net/ethernet/intel
Stanislav Fomichev a6e4b9a6de xsk: honor XDP_TX_METADATA in zero-copy path
The zero-copy path reads TX metadata whenever the UMEM has metadata space,
even if the descriptor does not set XDP_TX_METADATA. Pass descriptor
options through the metadata helpers and ignore metadata unless the option
is set.

This does not fix the existing per-WQE metadata handling for mlx5 MPWQEs.
Only the descriptor that starts a session passes through
xsk_tx_metadata_request() and configures offload state shared by the batch.
Metadata on descriptors joining an open session is therefore not validated
and does not configure its requested offloads. In addition, a non-NULL
metadata pointer from such a descriptor is treated as a timestamp
completion request even when XDP_TXMD_FLAGS_TIMESTAMP is not set, so its
metadata union can be overwritten with an unrequested timestamp. Fixing
mixed metadata states within one MPWQE requires a separate change.

Fixes: 48eb03dd26 ("xsk: Add TX timestamp and TX checksum offload support")
Reviewed-by: Alexander Lobakin <aleksander.lobakin@intel.com>
Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Link: https://patch.msgid.link/20260819160535.1472459-3-sdf@fomichev.me
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-08-24 11:12:00 -07:00
..
e1000 e1000: fix memory leak in e1000_probe() 2026-07-28 11:23:01 -07:00
e1000e e1000e: Reconfigure PLL clock gate timeout and re-enable K1 on Meteor Lake 2026-06-22 14:44:50 -07:00
fm10k net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
i40e virtchnl: move virtchnl and virtchnl2 headers to 'include/linux/net/intel' 2026-08-12 13:56:50 -07:00
iavf virtchnl: move virtchnl and virtchnl2 headers to 'include/linux/net/intel' 2026-08-12 13:56:50 -07:00
ice Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-08-18 10:42:41 -07:00
idpf Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-08-18 10:42:41 -07:00
igb net: intel: remove conditional return with no effect 2026-07-30 13:04:03 +02:00
igbvf igbvf: Fix leak in TX DMA error cleanup 2026-07-28 11:23:01 -07:00
igc xsk: honor XDP_TX_METADATA in zero-copy path 2026-08-24 11:12:00 -07:00
ixd ixd: add devlink support 2026-08-12 13:56:51 -07:00
ixgbe net: prevent torn reads in netdev_tc_txq 2026-08-17 10:27:48 -07:00
ixgbevf Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2026-05-21 15:09:02 -07:00
libeth libeth: allow to create fill queues without NAPI 2026-08-12 13:56:50 -07:00
libie libie: add bookkeeping support for control queue messages 2026-08-12 13:56:51 -07:00
e100.c net: Consistently define pci_device_ids using named initializers 2026-05-12 18:16:34 -07:00
Kconfig ixd: add basic driver framework for Intel(R) Control Plane Function 2026-08-12 13:56:51 -07:00
Makefile ixd: add basic driver framework for Intel(R) Control Plane Function 2026-08-12 13:56:51 -07:00