Linux kernel source tree
Go to file
Tobias Waldekranz 9684407522 net: mvpp2: Prevent parser TCAM memory corruption
Protect the parser TCAM/SRAM memory, and the cached (shadow) SRAM
information, from concurrent modifications.

Both the TCAM and SRAM tables are indirectly accessed by configuring
an index register that selects the row to read or write to. This means
that operations must be atomic in order to, e.g., avoid spreading
writes across multiple rows. Since the shadow SRAM array is used to
find free rows in the hardware table, it must also be protected in
order to avoid TOCTOU errors where multiple cores allocate the same
row.

This issue was detected in a situation where `mvpp2_set_rx_mode()` ran
concurrently on two CPUs. In this particular case the
MVPP2_PE_MAC_UC_PROMISCUOUS entry was corrupted, causing the
classifier unit to drop all incoming unicast - indicated by the
`rx_classifier_drops` counter.

Fixes: 3f518509de ("ethernet: Add new driver for Marvell Armada 375 network unit")
Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Tested-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/20250401065855.3113635-1-tobias@waldekranz.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-04-02 16:26:26 -07:00
arch Driver core updates for 6.15-rc1 2025-04-01 11:02:03 -07:00
block for-6.15/block-20250322 2025-03-26 18:08:55 -07:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
crypto This update includes the following changes: 2025-03-29 10:01:55 -07:00
Documentation iommufd 6.15 merge window pull 2025-04-01 18:03:46 -07:00
drivers net: mvpp2: Prevent parser TCAM memory corruption 2025-04-02 16:26:26 -07:00
fs Driver core updates for 6.15-rc1 2025-04-01 11:02:03 -07:00
include Rather tiny PR, mostly so that we can get into our trees your fix 2025-04-01 20:00:51 -07:00
init [ Merge note: this pull request depends on you having merged 2025-03-24 22:06:11 -07:00
io_uring for-6.15/io_uring-reg-vec-20250327 2025-03-28 15:07:04 -07:00
ipc treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
kernel Driver core updates for 6.15-rc1 2025-04-01 11:02:03 -07:00
lib iommufd 6.15 merge window pull 2025-04-01 18:03:46 -07:00
LICENSES LICENSES: add 0BSD license text 2024-09-01 20:43:24 -07:00
mm VFIO updates for v6.15-rc1 2025-04-01 19:35:19 -07:00
net bpf: add missing ops lock around dev_xdp_attach_link 2025-04-02 16:06:15 -07:00
rust Char/Misc/IIO driver updates for 6.15-rc1 2025-04-01 11:26:08 -07:00
samples Char/Misc/IIO driver updates for 6.15-rc1 2025-04-01 11:26:08 -07:00
scripts Char/Misc/IIO driver updates for 6.15-rc1 2025-04-01 11:26:08 -07:00
security Driver core updates for 6.15-rc1 2025-04-01 11:02:03 -07:00
sound virtio: features, fixes, cleanups 2025-04-01 18:52:54 -07:00
tools selftests: tc-testing: Add TBF with SKBPRIO queue length corner case test 2025-04-02 16:03:33 -07:00
usr kbuild: hdrcheck: fix cross build with clang 2025-03-05 04:06:45 +09:00
virt ARM: 2025-03-25 14:22:07 -07:00
.clang-format clang-format: Update with v6.11-rc1's for_each macro list 2024-08-02 13:20:31 +02:00
.clippy.toml rust: give Clippy the minimum supported Rust version 2025-01-10 00:17:25 +01:00
.cocciconfig
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore MAINTAINERS: Retire Ralf Baechle 2024-11-12 15:48:59 +01:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore rust: use host dylib naming convention to support macOS 2025-01-10 01:01:24 +01:00
.mailmap - The 7 patch series "powerpc/crash: use generic crashkernel 2025-04-01 10:06:52 -07:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS MAINTAINERS: update Open vSwitch maintainers 2025-04-02 16:25:10 -07:00
Kbuild drm: ensure drm headers are self-contained and pass kernel-doc 2025-02-12 10:44:43 +02:00
Kconfig io_uring: Rename KConfig to Kconfig 2025-02-19 14:53:27 -07:00
MAINTAINERS MAINTAINERS: update Open vSwitch maintainers 2025-04-02 16:25:10 -07:00
Makefile [ Merge note: this pull request depends on you having merged 2025-03-24 22:06:11 -07:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

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 reStructuredText 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.