]> www.infradead.org Git - users/jedix/linux-maple.git/commit
can: statistics: use atomic access in hot path
authorOliver Hartkopp <socketcan@hartkopp.net>
Mon, 10 Mar 2025 14:33:53 +0000 (15:33 +0100)
committerMarc Kleine-Budde <mkl@pengutronix.de>
Fri, 14 Mar 2025 08:47:00 +0000 (09:47 +0100)
commit80b5f90158d1364cbd80ad82852a757fc0692bf2
tree24d3095b6f636dfb48c9d5d1432c341ad65358d1
parent1d22a122ffb116c3cf78053e812b8b21f8852ee9
can: statistics: use atomic access in hot path

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>
net/can/af_can.c
net/can/af_can.h
net/can/proc.c