Go to file
Ophir Munk da8841a713 net/tap: fix eBPF file descriptors leakage
When a user creates an RSS rule, the tap PMD dynamically allocates
a 'flow' data structure, and uploads BPF programs (represented by file
descriptors) to the kernel.
The kernel might reject the rule (due to filters overlap, for example)
in which case, flow memory should be freed and BPF file descriptors
should be closed.
In the corrupted code there were scenarios where BPF file descriptors
were not closed.
The fix is to add a new function - tap_flow_free(), which will make sure
to always close BPF file descriptors before freeing the flow allocated
memory.

Fixes: 036d721a82 ("net/tap: implement RSS using eBPF")

Signed-off-by: Ophir Munk <ophirmu@mellanox.com>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
2018-01-31 20:57:29 +01:00
app app/testpmd: increase default ring sizes to 1024 2018-02-01 00:10:42 +01:00
buildtools drivers: improve pmdinfo generation with meson 2018-01-30 21:59:00 +01:00
config net/mlx5: spawn rdma-core dependency plug-in 2018-01-31 20:57:29 +01:00
devtools bb/turbo_sw: add software turbo driver 2018-01-19 01:44:25 +01:00
doc net/mlx5: spawn rdma-core dependency plug-in 2018-01-31 20:57:29 +01:00
drivers net/tap: fix eBPF file descriptors leakage 2018-01-31 20:57:29 +01:00
examples examples: increase default ring sizes to 1024 2018-02-01 00:10:42 +01:00
lib ethdev: synchronize port allocation 2018-01-31 20:49:02 +01:00
license license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
mk net/mlx5: spawn rdma-core dependency plug-in 2018-01-31 20:57:29 +01:00
pkg version: 17.11.0 2017-11-15 19:00:28 +01:00
test test: increase default ring sizes to 1024 2018-02-01 00:10:42 +01:00
usertools build: replace license text with SPDX tag 2018-01-30 21:58:59 +01:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore devtools: add tags and cscope index generation 2017-04-30 12:57:04 +02:00
GNUmakefile license: use SPDX tag in root makefile 2018-01-04 22:41:38 +01:00
MAINTAINERS doc: add rawdev library guide and doxygen page 2018-01-31 15:42:58 +01:00
Makefile license: use SPDX tag in root makefile 2018-01-04 22:41:38 +01:00
meson_options.txt test: build app with meson as dpdk-test 2018-01-30 21:58:59 +01:00
meson.build build: detect micro-arch on ARM 2018-01-30 21:59:00 +01:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org