Eric Dumazet
153a0d187e
ipv4: raw: lock the socket in raw_bind()
...
For some reason, raw_bind() forgot to lock the socket.
BUG: KCSAN: data-race in __ip4_datagram_connect / raw_bind
write to 0xffff8881170d4308 of 4 bytes by task 5466 on cpu 0:
raw_bind+0x1b0/0x250 net/ipv4/raw.c:739
inet_bind+0x56/0xa0 net/ipv4/af_inet.c:443
__sys_bind+0x14b/0x1b0 net/socket.c:1697
__do_sys_bind net/socket.c:1708 [inline]
__se_sys_bind net/socket.c:1706 [inline]
__x64_sys_bind+0x3d/0x50 net/socket.c:1706
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
read to 0xffff8881170d4308 of 4 bytes by task 5468 on cpu 1:
__ip4_datagram_connect+0xb7/0x7b0 net/ipv4/datagram.c:39
ip4_datagram_connect+0x2a/0x40 net/ipv4/datagram.c:89
inet_dgram_connect+0x107/0x190 net/ipv4/af_inet.c:576
__sys_connect_file net/socket.c:1900 [inline]
__sys_connect+0x197/0x1b0 net/socket.c:1917
__do_sys_connect net/socket.c:1927 [inline]
__se_sys_connect net/socket.c:1924 [inline]
__x64_sys_connect+0x3d/0x50 net/socket.c:1924
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x44/0xae
value changed: 0x00000000 -> 0x0003007f
Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 5468 Comm: syz-executor.5 Not tainted 5.17.0-rc1-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: syzbot <syzkaller@googlegroups.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-01-27 14:09:10 +00:00
..
2021-07-22 16:19:03 +02:00
2022-01-18 10:05:48 +02:00
2021-11-19 11:23:23 +00:00
2021-12-07 20:44:58 -08:00
2021-07-23 14:20:25 +01:00
2021-10-24 13:59:45 +01:00
2022-01-09 17:00:17 -08:00
2022-01-05 14:36:10 -08:00
2022-01-17 05:49:30 +02:00
2021-11-01 14:10:00 -07:00
2022-01-27 13:48:17 +00:00
2021-12-31 14:35:40 +00:00
2022-01-05 21:49:47 +01:00
2022-01-15 16:30:29 +02:00
2022-01-24 11:58:46 +00:00
2021-11-23 20:16:22 -08:00
2021-12-31 14:35:40 +00:00
2022-01-06 11:59:10 +00:00
2021-11-24 17:21:42 -08:00
2022-01-06 12:33:35 +00:00
2021-11-29 12:12:36 +00:00
2021-11-16 13:20:45 +00:00
2022-01-27 14:09:10 +00:00
2022-01-27 13:35:14 +00:00
2021-12-29 08:48:14 -08:00
2021-12-29 08:48:14 -08:00
2021-12-10 06:38:27 -08:00
2021-12-10 19:43:00 -08:00
2022-01-05 14:36:10 -08:00
2021-10-20 14:27:40 +01:00
2022-01-11 20:26:36 -08:00
2021-12-02 11:44:56 -08:00
2022-01-21 19:26:03 -08:00
2021-12-29 17:53:24 -08:00
2022-01-16 00:55:27 +01:00
2021-11-22 17:52:47 -05:00
2021-12-29 08:48:14 -08:00
2022-01-07 14:11:05 +00:00
2022-01-20 10:57:05 +02:00
2022-01-09 17:00:17 -08:00
2022-01-20 10:12:53 +00:00
2021-12-20 11:49:51 +00:00
2021-12-17 17:17:14 +01:00
2021-12-16 16:13:19 -08:00
2021-12-20 11:02:38 +01:00
2021-12-29 08:48:14 -08:00
2022-01-22 02:03:24 +00:00
2022-01-25 20:00:02 -08:00
2022-01-05 14:36:10 -08:00
2022-01-24 12:06:08 +00:00
2021-11-09 01:05:28 +01:00
2022-01-16 07:42:58 +02:00
2021-12-07 20:44:58 -08:00
2022-01-05 14:36:10 -08:00
2022-01-17 13:07:47 +00:00
2022-01-14 18:31:37 -08:00
2022-01-18 10:05:48 +02:00
2022-01-19 11:15:19 +02:00
2021-12-09 18:35:11 -08:00
2022-01-05 14:36:10 -08:00
2022-01-11 20:36:08 -08:00
2021-11-20 12:25:57 +00:00
2021-12-10 06:38:26 -08:00
2021-07-29 15:06:49 +01:00
2022-01-06 12:18:08 +00:00
2021-11-09 10:02:50 -08:00