The source for the Linux kernel used in Windows Subsystem for Linux 2 (WSL2)
Перейти к файлу
Florian Westphal ddbd8be689 netfilter: nf_tables: fix spurious set element insertion failure
On some platforms there is a padding hole in the nft_verdict
structure, between the verdict code and the chain pointer.

On element insertion, if the new element clashes with an existing one and
NLM_F_EXCL flag isn't set, we want to ignore the -EEXIST error as long as
the data associated with duplicated element is the same as the existing
one.  The data equality check uses memcmp.

For normal data (NFT_DATA_VALUE) this works fine, but for NFT_DATA_VERDICT
padding area leads to spurious failure even if the verdict data is the
same.

This then makes the insertion fail with 'already exists' error, even
though the new "key : data" matches an existing entry and userspace
told the kernel that it doesn't want to receive an error indication.

Fixes: c016c7e45d ("netfilter: nf_tables: honor NLM_F_EXCL flag in set element insertion")
Signed-off-by: Florian Westphal <fw@strlen.de>
2023-07-20 11:56:50 +02:00
Documentation Networking fixes for 6.5-rc2, including fixes from netfilter, 2023-07-13 14:21:22 -07:00
LICENSES
arch bpf, arm64: Fix BTI type used for freplace attached functions 2023-07-18 15:28:19 -07:00
block
certs
crypto crypto: algif_hash - Fix race between MORE and non-MORE sends 2023-07-08 22:48:42 +10:00
drivers net: ethernet: mtk_eth_soc: always mtk_get_ib1_pkt_type 2023-07-19 21:15:04 -07:00
fs Minor cleanups for 6.5: 2023-07-09 09:50:42 -07:00
include llc: Check netns in llc_estab_match() and llc_listener_match(). 2023-07-20 10:46:28 +02:00
init
io_uring
ipc
kernel bpf: Repeat check_max_stack_depth for async callbacks 2023-07-18 15:21:09 -07:00
lib 16 hotfixes. Six are cc:stable and the remainder address post-6.4 issues. 2023-07-08 14:30:25 -07:00
mm mm: lock newly mapped VMA with corrected ordering 2023-07-08 16:44:11 -07:00
net netfilter: nf_tables: fix spurious set element insertion failure 2023-07-20 11:56:50 +02:00
rust
samples arm64: ftrace: Add direct call trampoline samples support 2023-07-10 17:51:54 -04:00
scripts A half-dozen late arriving docs patches. They are mostly fixes, but we 2023-07-06 22:15:38 -07:00
security + Bug Fixes 2023-07-07 09:55:31 -07:00
sound sound fixes for 6.5-rc1 2023-07-07 15:40:17 -07:00
tools for-netdev 2023-07-19 15:01:10 -07:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap mailmap: Add entry for old intel email 2023-07-18 18:27:59 -07:00
.rustfmt.toml
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS Networking fixes for 6.5-rc2, including fixes from netfilter, 2023-07-13 14:21:22 -07:00
Makefile Linux 6.5-rc1 2023-07-09 13:53:13 -07:00
README

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.

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.