Eric Dumazet
84c510411e
packet: annotate data-races around ignore_outgoing
...
[ Upstream commit 6ebfad3316
]
ignore_outgoing is read locklessly from dev_queue_xmit_nit()
and packet_getsockopt()
Add appropriate READ_ONCE()/WRITE_ONCE() annotations.
syzbot reported:
BUG: KCSAN: data-race in dev_queue_xmit_nit / packet_setsockopt
write to 0xffff888107804542 of 1 bytes by task 22618 on cpu 0:
packet_setsockopt+0xd83/0xfd0 net/packet/af_packet.c:4003
do_sock_setsockopt net/socket.c:2311 [inline]
__sys_setsockopt+0x1d8/0x250 net/socket.c:2334
__do_sys_setsockopt net/socket.c:2343 [inline]
__se_sys_setsockopt net/socket.c:2340 [inline]
__x64_sys_setsockopt+0x66/0x80 net/socket.c:2340
do_syscall_64+0xd3/0x1d0
entry_SYSCALL_64_after_hwframe+0x6d/0x75
read to 0xffff888107804542 of 1 bytes by task 27 on cpu 1:
dev_queue_xmit_nit+0x82/0x620 net/core/dev.c:2248
xmit_one net/core/dev.c:3527 [inline]
dev_hard_start_xmit+0xcc/0x3f0 net/core/dev.c:3547
__dev_queue_xmit+0xf24/0x1dd0 net/core/dev.c:4335
dev_queue_xmit include/linux/netdevice.h:3091 [inline]
batadv_send_skb_packet+0x264/0x300 net/batman-adv/send.c:108
batadv_send_broadcast_skb+0x24/0x30 net/batman-adv/send.c:127
batadv_iv_ogm_send_to_if net/batman-adv/bat_iv_ogm.c:392 [inline]
batadv_iv_ogm_emit net/batman-adv/bat_iv_ogm.c:420 [inline]
batadv_iv_send_outstanding_bat_ogm_packet+0x3f0/0x4b0 net/batman-adv/bat_iv_ogm.c:1700
process_one_work kernel/workqueue.c:3254 [inline]
process_scheduled_works+0x465/0x990 kernel/workqueue.c:3335
worker_thread+0x526/0x730 kernel/workqueue.c:3416
kthread+0x1d1/0x210 kernel/kthread.c:388
ret_from_fork+0x4b/0x60 arch/x86/kernel/process.c:147
ret_from_fork_asm+0x1a/0x30 arch/x86/entry/entry_64.S:243
value changed: 0x00 -> 0x01
Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 27 Comm: kworker/u8:1 Tainted: G W 6.8.0-syzkaller-08073-g480e035fc4c7 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/29/2024
Workqueue: bat_events batadv_iv_send_outstanding_bat_ogm_packet
Fixes: fa788d986a
("packet: add sockopt to ignore outgoing packets")
Reported-by: syzbot+c669c1136495a2e7c31f@syzkaller.appspotmail.com
Closes: https://lore.kernel.org/netdev/CANn89i+Z7MfbkBLOv=p7KZ7=K1rKHO4P1OL5LYDCtBiyqsa9oQ@mail.gmail.com/T/#t
Signed-off-by: Eric Dumazet <edumazet@google.com >
Cc: Willem de Bruijn <willemdebruijn.kernel@gmail.com >
Reviewed-by: Willem de Bruijn <willemb@google.com >
Reviewed-by: Jason Xing <kerneljasonxing@gmail.com >
Signed-off-by: David S. Miller <davem@davemloft.net >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2024-03-26 18:22:25 -04:00
..
2020-02-14 16:34:10 -05:00
2023-05-30 12:44:02 +01:00
2019-10-24 14:53:49 -07:00
2021-03-07 12:20:43 +01:00
2024-03-26 18:22:25 -04:00
2023-09-23 11:00:03 +02:00
2023-12-13 18:18:17 +01:00
2024-01-15 18:25:29 +01:00
2023-01-24 07:17:58 +01:00
2019-09-07 17:28:22 +02:00
2021-12-08 09:01:13 +01:00
2023-12-13 18:18:13 +01:00
2023-09-23 10:59:56 +02:00
2019-12-18 16:08:47 +01:00
2021-02-07 15:35:47 +01:00
2021-08-18 08:57:00 +02:00
2023-09-23 10:59:42 +02:00
2022-01-11 15:23:32 +01:00
2024-01-25 14:34:20 -08:00
2023-02-06 07:52:45 +01:00
2022-02-01 17:24:37 +01:00
2022-03-16 13:21:46 +01:00
2020-05-10 10:31:32 +02:00
2023-04-20 12:07:33 +02:00
2020-05-20 08:20:12 +02:00
2021-05-19 10:08:31 +02:00
2023-10-25 11:53:22 +02:00
2019-10-13 10:13:08 -07:00
2024-03-06 14:36:09 +00:00
2024-03-26 18:22:12 -04:00
2022-07-29 17:14:14 +02:00
2024-02-23 08:25:14 +01:00
2022-04-15 14:18:16 +02:00
2024-03-26 18:22:14 -04:00
2023-08-11 11:53:57 +02:00
2021-01-23 15:57:56 +01:00
2024-01-15 18:25:27 +01:00
2023-03-03 11:41:48 +01:00
2022-09-05 10:27:41 +02:00
2019-07-22 20:47:56 -07:00
2020-02-05 21:22:52 +00:00
2019-12-18 16:09:10 +01:00