blatt A1
Go to file
Oliver Hartkopp 4b07ce83e9 can: statistics: use atomic access in hot path
[ Upstream commit 80b5f90158d1364cbd80ad82852a757fc0692bf2 ]

In can_send() and can_receive() CAN messages and CAN filter matches are
counted to be visible in the CAN procfs files.

KCSAN detected a data race within can_send() when two CAN frames have
been generated by a timer event writing to the same CAN netdevice at the
same time. Use atomic operations to access the statistics in the hot path
to fix the KCSAN complaint.

Reported-by: syzbot+78ce4489b812515d5e4d@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/all/67cd717d.050a0220.e1a89.0006.GAE@google.com
Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net>
Reviewed-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Link: https://patch.msgid.link/20250310143353.3242-1-socketcan@hartkopp.net
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-04-10 14:33:39 +02:00
arch x86/sgx: Warn explicitly if X86_FEATURE_SGX_LC is not enabled 2025-04-10 14:33:39 +02:00
block block, bfq: fix re-introduced UAF in bic_set_bfqq() 2025-03-28 21:59:02 +01:00
certs
crypto crypto: api - Add crypto_clone_tfm 2024-12-14 19:53:51 +01:00
Documentation sched/isolation: Prevent boot crash when the boot CPU is nohz_full 2025-03-28 21:58:48 +01:00
drivers drm/amd: Keep display off while going into S4 2025-04-10 14:33:39 +02:00
fs affs: don't write overlarge OFS data block size fields 2025-04-10 14:33:38 +02:00
include rcu-tasks: Always inline rcu_irq_work_resched() 2025-04-10 14:33:38 +02:00
init rust: Disallow BTF generation with Rust + LTO 2025-03-28 21:58:57 +01:00
io_uring io_uring: fix corner case forgetting to vunmap 2025-03-28 21:58:53 +01:00
ipc ipc: fix memleak if msg_init_ns failed in create_ipc_ns 2024-12-14 19:54:06 +01:00
kernel locking/semaphore: Use wake_q to wake up processes outside lock critical section 2025-04-10 14:33:39 +02:00
lib lib: 842: Improve error handling in sw842_compress() 2025-04-10 14:33:34 +02:00
LICENSES
mm lockdep/mm: Fix might_fault() lockdep check of current->mm->mmap_lock 2025-04-10 14:33:30 +02:00
net can: statistics: use atomic access in hot path 2025-04-10 14:33:39 +02:00
rust scripts: generate_rust_analyzer: provide cfgs for core and alloc 2025-03-28 21:58:57 +01:00
samples samples/landlock: Fix possible NULL dereference in parse_path() 2025-02-21 13:49:03 +01:00
scripts selinux: Chain up tool resolving errors in install_policy.sh 2025-04-10 14:33:30 +02:00
security smack: dont compile ipv6 code unless ipv6 is configured 2025-04-10 14:33:30 +02:00
sound ALSA: hda/realtek: Add mute LED quirk for HP Pavilion x360 14-dy1xxx 2025-04-10 14:33:39 +02:00
tools perf tools: annotate asm_pure_loop.S 2025-04-10 14:33:37 +02:00
usr
virt KVM: Fix a data race on last_boosted_vcpu in kvm_vcpu_on_spin() 2024-06-27 13:46:21 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore Remove *.orig pattern from .gitignore 2024-10-17 15:21:15 +02:00
.mailmap
.rustfmt.toml
COPYING
CREDITS MAINTAINERS: Remove Michal Marek from Kbuild maintainers 2022-11-16 14:53:00 +09:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig
MAINTAINERS MAINTAINERS: add leah to 6.1 MAINTAINERS file 2024-05-17 11:56:16 +02:00
Makefile Linux 6.1.133 2025-04-07 10:05:46 +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.