]> www.infradead.org Git - users/dwmw2/linux.git/commit
xsk: Try to make xdp_umem_reg extension a bit more future-proof
authorStanislav Fomichev <sdf@fomichev.me>
Fri, 26 Jul 2024 22:20:48 +0000 (15:20 -0700)
committerMartin KaFai Lau <martin.lau@kernel.org>
Tue, 30 Jul 2024 22:14:18 +0000 (15:14 -0700)
commit32654bbd6313b4cfc82297e6634fa9725c3c900f
tree74fb55e733a0901bf6a625a3e02cfe9445c8fced
parent1cbe8143fd2f588031a5f157d15ae15ce12215e2
xsk: Try to make xdp_umem_reg extension a bit more future-proof

We recently found out that extending xsk_umem_reg might be a bit
complicated due to not enforcing padding to be zero [0]. Add
a couple of things to make it less error-prone:
1. Remove xdp_umem_reg_v2 since its sizeof is the same as xdp_umem_reg
2. Add BUILD_BUG_ON that checks that the size of xdp_umem_reg_v1 is less
   than xdp_umem_reg; presumably, when we get to v2, there is gonna
   be a similar line to enforce that sizeof(v2) > sizeof(v1)
3. Add BUILD_BUG_ON to make sure the last field plus its size matches
   the overall struct size. The intent is to demonstrate that we don't
   have any lingering padding.

0: https://lore.kernel.org/bpf/ZqI29QE+5JnkdPmE@boxer/T/#me03113f7c2458fd08f3c4114a7a9472ac3646c98

Reported-by: Julian Schindel <mail@arctic-alpaca.de>
Cc: Magnus Karlsson <magnus.karlsson@gmail.com>
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Stanislav Fomichev <sdf@fomichev.me>
Link: https://lore.kernel.org/r/20240726222048.1397869-1-sdf@fomichev.me
Signed-off-by: Martin KaFai Lau <martin.lau@kernel.org>
net/xdp/xsk.c