No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jonas Gorski 608597018f net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN
[ Upstream commit bee2ef946d3184e99077be526567d791c473036f ]

When userspace wants to take over a fdb entry by setting it as
EXTERN_LEARNED, we set both flags BR_FDB_ADDED_BY_EXT_LEARN and
BR_FDB_ADDED_BY_USER in br_fdb_external_learn_add().

If the bridge updates the entry later because its port changed, we clear
the BR_FDB_ADDED_BY_EXT_LEARN flag, but leave the BR_FDB_ADDED_BY_USER
flag set.

If userspace then wants to take over the entry again,
br_fdb_external_learn_add() sees that BR_FDB_ADDED_BY_USER and skips
setting the BR_FDB_ADDED_BY_EXT_LEARN flags, thus silently ignores the
update.

Fix this by always allowing to set BR_FDB_ADDED_BY_EXT_LEARN regardless
if this was a user fdb entry or not.

Fixes: 710ae72877 ("net: bridge: Mark FDB entries that were added by user as such")
Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Link: https://patch.msgid.link/20240903081958.29951-1-jonas.gorski@bisdn.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-09-12 11:03:53 +02:00
arch openrisc: Call setup_memory() earlier in the init sequence 2024-09-04 13:14:57 +02:00
block block: initialize integrity buffer to zero before writing it to media 2024-09-12 11:03:50 +02:00
certs
crypto
Documentation overflow: Implement size_t saturating arithmetic helpers 2024-09-04 13:14:51 +02:00
drivers usbnet: modern method to get random MAC 2024-09-12 11:03:53 +02:00
fs udf: Avoid excessive partition lengths 2024-09-12 11:03:52 +02:00
include i2c: Use IS_REACHABLE() for substituting empty ACPI functions 2024-09-12 11:03:50 +02:00
init
ipc ipc: replace costly bailout check in sysvipc_find_ipc() 2024-09-04 13:15:02 +02:00
kernel cgroup/cpuset: Prevent UAF in proc_cpuset_show() 2024-09-04 13:15:03 +02:00
lib overflow: Implement size_t saturating arithmetic helpers 2024-09-04 13:14:51 +02:00
LICENSES
mm memcg_write_event_control(): fix a user-triggerable oops 2024-09-04 13:14:50 +02:00
net net: bridge: br_fdb_external_learn_add(): always set EXT_LEARN 2024-09-12 11:03:53 +02:00
samples
scripts
security smack: unix sockets: fix accept()ed socket label 2024-09-12 11:03:52 +02:00
sound ALSA: hda: Add input value sanity checks to HDMI channel map controls 2024-09-12 11:03:51 +02:00
tools tools: move alignment-related macros to new <linux/align.h> 2024-09-04 13:15:02 +02:00
usr
virt
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.283 2024-09-04 13:15:05 +02:00
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.