Revision 4e43e64d0f1332fcc503babad4dc31aead7131ca authored by Eric Dumazet on 28 June 2022, 12:12:48 UTC, committed by Jakub Kicinski on 30 June 2022, 03:41:09 UTC
As reported by syzbot, we should not use rcu_dereference() when rcu_read_lock() is not held. WARNING: suspicious RCU usage 5.19.0-rc2-syzkaller #0 Not tainted net/ipv6/addrconf.c:5175 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 1 lock held by syz-executor326/3617: #0: ffffffff8d5848e8 (rtnl_mutex){+.+.}-{3:3}, at: netlink_dump+0xae/0xc20 net/netlink/af_netlink.c:2223 stack backtrace: CPU: 0 PID: 3617 Comm: syz-executor326 Not tainted 5.19.0-rc2-syzkaller #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 in6_dump_addrs+0x12d1/0x1790 net/ipv6/addrconf.c:5175 inet6_dump_addr+0x9c1/0xb50 net/ipv6/addrconf.c:5300 netlink_dump+0x541/0xc20 net/netlink/af_netlink.c:2275 __netlink_dump_start+0x647/0x900 net/netlink/af_netlink.c:2380 netlink_dump_start include/linux/netlink.h:245 [inline] rtnetlink_rcv_msg+0x73e/0xc90 net/core/rtnetlink.c:6046 netlink_rcv_skb+0x153/0x420 net/netlink/af_netlink.c:2501 netlink_unicast_kernel net/netlink/af_netlink.c:1319 [inline] netlink_unicast+0x543/0x7f0 net/netlink/af_netlink.c:1345 netlink_sendmsg+0x917/0xe10 net/netlink/af_netlink.c:1921 sock_sendmsg_nosec net/socket.c:714 [inline] sock_sendmsg+0xcf/0x120 net/socket.c:734 ____sys_sendmsg+0x6eb/0x810 net/socket.c:2492 ___sys_sendmsg+0xf3/0x170 net/socket.c:2546 __sys_sendmsg net/socket.c:2575 [inline] __do_sys_sendmsg net/socket.c:2584 [inline] __se_sys_sendmsg net/socket.c:2582 [inline] __x64_sys_sendmsg+0x132/0x220 net/socket.c:2582 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x46/0xb0 Fixes: 88e2ca308094 ("mld: convert ifmcaddr6 to RCU") Reported-by: syzbot <syzkaller@googlegroups.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Taehee Yoo <ap420073@gmail.com> Link: https://lore.kernel.org/r/20220628121248.858695-1-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent fa152f6
File | Mode | Size |
---|---|---|
partitions | ||
Kconfig | -rw-r--r-- | 7.0 KB |
Kconfig.iosched | -rw-r--r-- | 1.3 KB |
Makefile | -rw-r--r-- | 1.8 KB |
badblocks.c | -rw-r--r-- | 14.1 KB |
bdev.c | -rw-r--r-- | 27.5 KB |
bfq-cgroup.c | -rw-r--r-- | 39.9 KB |
bfq-iosched.c | -rw-r--r-- | 258.8 KB |
bfq-iosched.h | -rw-r--r-- | 37.6 KB |
bfq-wf2q.c | -rw-r--r-- | 52.4 KB |
bio-integrity.c | -rw-r--r-- | 12.3 KB |
bio.c | -rw-r--r-- | 48.3 KB |
blk-cgroup-fc-appid.c | -rw-r--r-- | 1.4 KB |
blk-cgroup-rwstat.c | -rw-r--r-- | 3.4 KB |
blk-cgroup-rwstat.h | -rw-r--r-- | 3.9 KB |
blk-cgroup.c | -rw-r--r-- | 52.8 KB |
blk-cgroup.h | -rw-r--r-- | 16.4 KB |
blk-core.c | -rw-r--r-- | 35.1 KB |
blk-crypto-fallback.c | -rw-r--r-- | 18.7 KB |
blk-crypto-internal.h | -rw-r--r-- | 5.7 KB |
blk-crypto-profile.c | -rw-r--r-- | 16.4 KB |
blk-crypto-sysfs.c | -rw-r--r-- | 4.4 KB |
blk-crypto.c | -rw-r--r-- | 12.1 KB |
blk-flush.c | -rw-r--r-- | 15.5 KB |
blk-ia-ranges.c | -rw-r--r-- | 9.0 KB |
blk-integrity.c | -rw-r--r-- | 11.9 KB |
blk-ioc.c | -rw-r--r-- | 10.5 KB |
blk-iocost.c | -rw-r--r-- | 96.6 KB |
blk-iolatency.c | -rw-r--r-- | 29.2 KB |
blk-ioprio.c | -rw-r--r-- | 6.5 KB |
blk-ioprio.h | -rw-r--r-- | 332 bytes |
blk-lib.c | -rw-r--r-- | 8.9 KB |
blk-map.c | -rw-r--r-- | 14.5 KB |
blk-merge.c | -rw-r--r-- | 29.7 KB |
blk-mq-cpumap.c | -rw-r--r-- | 2.2 KB |
blk-mq-debugfs-zoned.c | -rw-r--r-- | 435 bytes |
blk-mq-debugfs.c | -rw-r--r-- | 21.5 KB |
blk-mq-debugfs.h | -rw-r--r-- | 2.7 KB |
blk-mq-pci.c | -rw-r--r-- | 1.3 KB |
blk-mq-rdma.c | -rw-r--r-- | 1.3 KB |
blk-mq-sched.c | -rw-r--r-- | 17.4 KB |
blk-mq-sched.h | -rw-r--r-- | 2.5 KB |
blk-mq-sysfs.c | -rw-r--r-- | 7.0 KB |
blk-mq-tag.c | -rw-r--r-- | 18.4 KB |
blk-mq-tag.h | -rw-r--r-- | 2.3 KB |
blk-mq-virtio.c | -rw-r--r-- | 1.3 KB |
blk-mq.c | -rw-r--r-- | 118.1 KB |
blk-mq.h | -rw-r--r-- | 11.1 KB |
blk-pm.c | -rw-r--r-- | 6.6 KB |
blk-pm.h | -rw-r--r-- | 763 bytes |
blk-rq-qos.c | -rw-r--r-- | 7.0 KB |
blk-rq-qos.h | -rw-r--r-- | 5.4 KB |
blk-settings.c | -rw-r--r-- | 30.2 KB |
blk-stat.c | -rw-r--r-- | 5.4 KB |
blk-stat.h | -rw-r--r-- | 4.8 KB |
blk-sysfs.c | -rw-r--r-- | 24.0 KB |
blk-throttle.c | -rw-r--r-- | 64.4 KB |
blk-throttle.h | -rw-r--r-- | 6.0 KB |
blk-timeout.c | -rw-r--r-- | 4.1 KB |
blk-wbt.c | -rw-r--r-- | 19.9 KB |
blk-wbt.h | -rw-r--r-- | 2.7 KB |
blk-zoned.c | -rw-r--r-- | 16.6 KB |
blk.h | -rw-r--r-- | 14.4 KB |
bounce.c | -rw-r--r-- | 6.5 KB |
bsg-lib.c | -rw-r--r-- | 9.8 KB |
bsg.c | -rw-r--r-- | 6.1 KB |
disk-events.c | -rw-r--r-- | 12.9 KB |
elevator.c | -rw-r--r-- | 19.2 KB |
elevator.h | -rw-r--r-- | 5.2 KB |
fops.c | -rw-r--r-- | 16.5 KB |
genhd.c | -rw-r--r-- | 37.4 KB |
holder.c | -rw-r--r-- | 4.2 KB |
ioctl.c | -rw-r--r-- | 16.4 KB |
ioprio.c | -rw-r--r-- | 4.8 KB |
kyber-iosched.c | -rw-r--r-- | 27.9 KB |
mq-deadline.c | -rw-r--r-- | 31.8 KB |
opal_proto.h | -rw-r--r-- | 9.4 KB |
sed-opal.c | -rw-r--r-- | 62.5 KB |
t10-pi.c | -rw-r--r-- | 12.5 KB |
Computing file changes ...