aboutsummaryrefslogtreecommitdiffstats
path: root/tools/include
diff options
context:
space:
mode:
authorMagnus Karlsson <magnus.karlsson@intel.com>2020-01-14 10:49:25 +0100
committerAlexei Starovoitov <ast@kernel.org>2020-01-15 11:41:52 -0800
commitd3a56931f9c8644a52e7a6735954c84ea895e8c3 (patch)
tree91d9e96017c76e1a3cc7c1d1c741e571988f731f /tools/include
parentbpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map (diff)
downloadlinux-dev-d3a56931f9c8644a52e7a6735954c84ea895e8c3.tar.xz
linux-dev-d3a56931f9c8644a52e7a6735954c84ea895e8c3.zip
xsk: Support allocations of large umems
When registering a umem area that is sufficiently large (>1G on an x86), kmalloc cannot be used to allocate one of the internal data structures, as the size requested gets too large. Use kvmalloc instead that falls back on vmalloc if the allocation is too large for kmalloc. Also add accounting for this structure as it is triggered by a user space action (the XDP_UMEM_REG setsockopt) and it is by far the largest structure of kernel allocated memory in xsk. Reported-by: Ryan Goodfellow <rgoodfel@isi.edu> Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Acked-by: Jonathan Lemon <jonathan.lemon@gmail.com> Link: https://lore.kernel.org/bpf/1578995365-7050-1-git-send-email-magnus.karlsson@intel.com
Diffstat (limited to 'tools/include')
0 files changed, 0 insertions, 0 deletions