No description
Find a file
Magnus Karlsson c9b47cc1fa xsk: fix bug when trying to use both copy and zero-copy on one queue id
Previously, the xsk code did not record which umem was bound to a
specific queue id. This was not required if all drivers were zero-copy
enabled as this had to be recorded in the driver anyway. So if a user
tried to bind two umems to the same queue, the driver would say
no. But if copy-mode was first enabled and then zero-copy mode (or the
reverse order), we mistakenly enabled both of them on the same umem
leading to buggy behavior. The main culprit for this is that we did
not store the association of umem to queue id in the copy case and
only relied on the driver reporting this. As this relation was not
stored in the driver for copy mode (it does not rely on the AF_XDP
NDOs), this obviously could not work.

This patch fixes the problem by always recording the umem to queue id
relationship in the netdev_queue and netdev_rx_queue structs. This way
we always know what kind of umem has been bound to a queue id and can
act appropriately at bind time.

Signed-off-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
2018-10-05 09:31:00 +02:00
arch
block
certs
crypto
Documentation bpf: typo fix in Documentation/networking/af_xdp.rst 2018-10-05 00:11:24 +02:00
drivers nfp: bpf: allow control message sizing for map ops 2018-10-02 14:39:59 +02:00
firmware
fs
include net: add umem reference in netdev{_rx}_queue 2018-10-05 09:31:00 +02:00
init
ipc
kernel bpf: Add helper to retrieve socket in BPF 2018-10-03 02:53:47 +02:00
lib
LICENSES
mm
net xsk: fix bug when trying to use both copy and zero-copy on one queue id 2018-10-05 09:31:00 +02:00
samples bpf, tracex3_user: erase "ARRAY_SIZE" redefined 2018-10-04 16:31:57 +02:00
scripts
security
sound
tools libbpf: Use __u32 instead of u32 in bpf_program__load 2018-10-04 16:04:16 +02:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.
See Documentation/00-INDEX for a list of what is contained in each file.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.