Re: linux-next boot error: WARNING: suspicious RCU usage in ipmr_get_table

From: Qian Cai
Date: Tue Apr 28 2020 - 09:57:05 EST




> On Apr 28, 2020, at 4:57 AM, Dmitry Vyukov <dvyukov@xxxxxxxxxx> wrote:
>> net/ipv4/ipmr.c:136 RCU-list traversed in non-reader section!!

https://lore.kernel.org/netdev/20200222063835.14328-2-frextrite@xxxxxxxxx/

Never been picked up for a few months due to some reasons. You could probably
need to convince David, Paul, Steven or Linus to unblock the bot or carry patches
on your own?

>> net/ipv6/ip6mr.c:124 RCU-list traversed in non-reader section!!

Not sure about this if anyone is working on it. Adding a few people...

>>
>> other info that might help us debug this:
>>
>>
>> rcu_scheduler_active = 2, debug_locks = 1
>> 1 lock held by swapper/0/1:
>> #0: ffffffff8a5a6330 (pernet_ops_rwsem){+.+.}-{3:3}, at: register_pernet_subsys+0x16/0x40 net/core/net_namespace.c:1257
>>
>> stack backtrace:
>> CPU: 0 PID: 1 Comm: swapper/0 Not tainted 5.7.0-rc3-next-20200428-syzkaller #0
>> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
>> Call Trace:
>> __dump_stack lib/dump_stack.c:77 [inline]
>> dump_stack+0x18f/0x20d lib/dump_stack.c:118
>> ip6mr_get_table+0x153/0x180 net/ipv6/ip6mr.c:124
>> ip6mr_new_table+0x1b/0x70 net/ipv6/ip6mr.c:382
>> ip6mr_rules_init net/ipv6/ip6mr.c:236 [inline]
>> ip6mr_net_init+0x133/0x3f0 net/ipv6/ip6mr.c:1310
>> ops_init+0xaf/0x420 net/core/net_namespace.c:151
>> __register_pernet_operations net/core/net_namespace.c:1140 [inline]
>> register_pernet_operations+0x346/0x840 net/core/net_namespace.c:1217
>> register_pernet_subsys+0x25/0x40 net/core/net_namespace.c:1258
>> ip6_mr_init+0x49/0x152 net/ipv6/ip6mr.c:1363
>> inet6_init+0x1d7/0x6dc net/ipv6/af_inet6.c:1032
>> do_one_initcall+0x10a/0x7d0 init/main.c:1159
>> do_initcall_level init/main.c:1232 [inline]
>> do_initcalls init/main.c:1248 [inline]
>> do_basic_setup init/main.c:1268 [inline]
>> kernel_init_freeable+0x501/0x5ae init/main.c:1454
>> kernel_init+0xd/0x1bb init/main.c:1359
>> ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:351
>>
>> =============================
>> WARNING: suspicious RCU usage
>> 5.7.0-rc3-next-20200428-syzkaller #0 Not tainted
>> -----------------------------
>> security/integrity/evm/evm_main.c:231 RCU-list traversed in non-reader section!!

Ditto.

>>
>> other info that might help us debug this:
>>
>>
>> rcu_scheduler_active = 2, debug_locks = 1
>> 2 locks held by systemd/1:
>> #0: ffff888098dfa450 (sb_writers#8){.+.+}-{0:0}, at: sb_start_write include/linux/fs.h:1659 [inline]
>> #0: ffff888098dfa450 (sb_writers#8){.+.+}-{0:0}, at: mnt_want_write+0x3a/0xb0 fs/namespace.c:354
>> #1: ffff8880988e8310 (&type->i_mutex_dir_key#6){++++}-{3:3}, at: inode_lock include/linux/fs.h:799 [inline]
>> #1: ffff8880988e8310 (&type->i_mutex_dir_key#6){++++}-{3:3}, at: vfs_setxattr+0x92/0xf0 fs/xattr.c:219
>>
>> stack backtrace:
>> CPU: 0 PID: 1 Comm: systemd Not tainted 5.7.0-rc3-next-20200428-syzkaller #0
>> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
>> Call Trace:
>> __dump_stack lib/dump_stack.c:77 [inline]
>> dump_stack+0x18f/0x20d lib/dump_stack.c:118
>> evm_protected_xattr+0x1c2/0x210 security/integrity/evm/evm_main.c:231
>> evm_protect_xattr.isra.0+0xb6/0x3d0 security/integrity/evm/evm_main.c:318
>> evm_inode_setxattr+0xc4/0xf0 security/integrity/evm/evm_main.c:387
>> security_inode_setxattr+0x18f/0x200 security/security.c:1297
>> vfs_setxattr+0xa7/0xf0 fs/xattr.c:220
>> setxattr+0x23d/0x330 fs/xattr.c:451
>> path_setxattr+0x170/0x190 fs/xattr.c:470
>> __do_sys_setxattr fs/xattr.c:485 [inline]
>> __se_sys_setxattr fs/xattr.c:481 [inline]
>> __x64_sys_setxattr+0xc0/0x160 fs/xattr.c:481
>> do_syscall_64+0xf6/0x7d0 arch/x86/entry/common.c:295
>> entry_SYSCALL_64_after_hwframe+0x49/0xb3
>> RIP: 0033:0x7fe46005e67a
>> Code: 48 8b 0d 21 18 2b 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 bc 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d ee 17 2b 00 f7 d8 64 89 01 48
>> RSP: 002b:00007fffef423568 EFLAGS: 00000246 ORIG_RAX: 00000000000000bc
>> RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007fe46005e67a
>> RDX: 00007fffef4235e0 RSI: 0000556ea53ddf9b RDI: 0000556ea6766760
>> RBP: 0000556ea53ddf9b R08: 0000000000000000 R09: 0000000000000030
>> R10: 0000000000000020 R11: 0000000000000246 R12: 00007fffef4235e0
>> R13: 0000000000000020 R14: 0000000000000000 R15: 0000556ea6751700
>>
>> security/device_cgroup.c:357 RCU-list traversed in non-reader section!!

https://lore.kernel.org/lkml/20200406105950.GA2285@workstation-kernel-dev/

The same story. The patch had been ignored for a while.