OSDN Git Service

xdp: Handle MEM_TYPE_XSK_BUFF_POOL correctly in xdp_return_buff()
authorBjörn Töpel <bjorn.topel@intel.com>
Fri, 27 Nov 2020 17:17:26 +0000 (18:17 +0100)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 30 Nov 2020 22:00:26 +0000 (23:00 +0100)
commited1182dc004dbcc7cfe64fb0e8ac520b25431715
treefafafc9c3d4d5e48f9fd276fa76fb6b4ea5e5078
parent4d521943f76bd0d1e68ea5e02df7aadd30b2838a
xdp: Handle MEM_TYPE_XSK_BUFF_POOL correctly in xdp_return_buff()

It turns out that it does exist a path where xdp_return_buff() is
being passed an XDP buffer of type MEM_TYPE_XSK_BUFF_POOL. This path
is when AF_XDP zero-copy mode is enabled, and a buffer is redirected
to a DEVMAP with an attached XDP program that drops the buffer.

This change simply puts the handling of MEM_TYPE_XSK_BUFF_POOL back
into xdp_return_buff().

Fixes: 82c41671ca4f ("xdp: Simplify xdp_return_{frame, frame_rx_napi, buff}")
Reported-by: Maxim Mikityanskiy <maximmi@nvidia.com>
Signed-off-by: Björn Töpel <bjorn.topel@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: Maxim Mikityanskiy <maximmi@nvidia.com>
Link: https://lore.kernel.org/bpf/20201127171726.123627-1-bjorn.topel@gmail.com
net/core/xdp.c