linux/net/xdp
Ilya Maximets bf0bdd1343 xdp: fix race on generic receive path
Unlike driver mode, generic xdp receive could be triggered
by different threads on different CPU cores at the same time
leading to the fill and rx queue breakage. For example, this
could happen while sending packets from two processes to the
first interface of veth pair while the second part of it is
open with AF_XDP socket.

Need to take a lock for each generic receive to avoid race.

Fixes: c497176cb2 ("xsk: add Rx receive functions and poll support")
Signed-off-by: Ilya Maximets <i.maximets@samsung.com>
Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
Tested-by: William Tu <u9012063@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2019-07-09 01:43:26 +02:00
..
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
xdp_umem.c xdp: check device pointer before clearing 2019-06-12 16:41:47 +02:00
xdp_umem.h xsk: fix bug when trying to use both copy and zero-copy on one queue id 2018-10-05 09:31:00 +02:00
xsk_diag.c xsk: fix potential crash in xsk_diag_put_umem() 2019-03-07 10:36:37 +01:00
xsk_queue.c net: xsk: add a simple buffer reuse queue 2018-09-25 13:13:15 -07:00
xsk_queue.h xsk: Add API to check for available entries in FQ 2019-06-27 22:53:26 +02:00
xsk.c xdp: fix race on generic receive path 2019-07-09 01:43:26 +02:00
xsk.h xsk: add sock_diag interface for AF_XDP 2019-01-25 01:50:03 +01:00