+4
−0
Loading
XSKMAP entries are used as redirect targets for incoming XDP frames. A TX-only AF_XDP socket lacks an Rx ring and cannot handle redirected traffic, but xsk_map_update_elem() currently allows such sockets to be inserted into the map. Redirecting packets to such a socket on the veth generic-XDP path causes a kernel crash in xsk_generic_rcv(). This became possible after xsk_is_setup_for_bpf_map() was removed from the XSKMAP update path, which allowed bound TX-only sockets to be inserted into the map. Reject TX-only sockets during XSKMAP updates to avoid the crash. They remain fully operational for pure Tx purposes outside XSKMAP. Fixes: 968be23c ("xsk: Fix possible segfault at xskmap entry insertion") Reported-by:Juefei Pu <tomapufckgml@gmail.com> Reported-by:
Yuan Tan <yuantan098@gmail.com> Reported-by:
Xin Liu <bird@lzu.edu.cn> Signed-off-by:
Yifan Wu <yifanwucs@gmail.com> Signed-off-by:
Linpu Yu <linpu5433@gmail.com> Reviewed-by:
Jason Xing <kerneljasonxing@gmail.com> Link: https://lore.kernel.org/r/20260508144344.694-1-linpu5433@gmail.com Signed-off-by:
Alexei Starovoitov <ast@kernel.org>