]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xsk: Don't assume metadata is always requested in TX completion
authorStanislav Fomichev <sdf@google.com>
Mon, 18 Mar 2024 16:54:27 +0000 (09:54 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 10 Apr 2024 14:37:53 +0000 (16:37 +0200)
[ Upstream commit f6e922365faf4cd576bd1cf3e64b58c8a32e1856 ]

`compl->tx_timestam != NULL` means that the user has explicitly
requested the metadata via XDP_TX_METADATA+XDP_TX_METADATA_TIMESTAMP.

Fixes: 48eb03dd2630 ("xsk: Add TX timestamp and TX checksum offload support")
Reported-by: Daniele Salvatore Albano <d.albano@gmail.com>
Signed-off-by: Stanislav Fomichev <sdf@google.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Tested-by: Daniele Salvatore Albano <d.albano@gmail.com>
Link: https://lore.kernel.org/bpf/20240318165427.1403313-1-sdf@google.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
include/net/xdp_sock.h

index 3cb4dc9bd70e44bcce5f9cb3119de61e933967ab..3d54de168a6d9d57d1f7001c648fbc25af10965a 100644 (file)
@@ -188,6 +188,8 @@ static inline void xsk_tx_metadata_complete(struct xsk_tx_metadata_compl *compl,
 {
        if (!compl)
                return;
+       if (!compl->tx_timestamp)
+               return;
 
        *compl->tx_timestamp = ops->tmo_fill_timestamp(priv);
 }