Subject: [syzbot] WARNING: suspicious RCU usage in nf_ct_iterate_cleanup (2)

From: syzbot <[email-masked]>
Date: Wed, 05 May 2021 00:51:24 -0700

Hello,

syzbot found the following issue on:

HEAD commit:    d2b6f8a1 Merge tag 'xfs-5.13-merge-3' of git://git.kernel...
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=120f2da3d00000
kernel config:  https://syzkaller.appspot.com/x/.config?x=65c207250bba4efe
dashboard link: https://syzkaller.appspot.com/bug?extid=86efe6206c1373c8a7cc

Unfortunately, I don't have any reproducer for this issue yet.

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: [email-masked]

=============================
WARNING: suspicious RCU usage
5.12.0-syzkaller #0 Not tainted
-----------------------------
kernel/sched/core.c:8304 Illegal context switch in RCU-bh read-side critical section!

other info that might help us debug this:

rcu_scheduler_active = 2, debug_locks = 0
3 locks held by kworker/u4:7/11790:
 #0: 
ffff888011e93138
 (
(wq_completion)netns
){+.+.}-{0:0}
, at: arch_atomic64_set arch/x86/include/asm/atomic64_64.h:34 [inline]
, at: atomic64_set include/asm-generic/atomic-instrumented.h:856 [inline]
, at: atomic_long_set include/asm-generic/atomic-long.h:41 [inline]
, at: set_work_data kernel/workqueue.c:616 [inline]
, at: set_work_pool_and_clear_pending kernel/workqueue.c:643 [inline]
, at: process_one_work+0x871/0x1600 kernel/workqueue.c:2246
 #1: 
ffffc90002377da8
 (
net_cleanup_work
){+.+.}-{0:0}
, at: process_one_work+0x8a5/0x1600 kernel/workqueue.c:2250
 #2: 
ffffffff8d672190
 (
pernet_ops_rwsem
){++++}-{3:3}
, at: cleanup_net+0x9b/0xb10 net/core/net_namespace.c:557

stack backtrace:
CPU: 1 PID: 11790 Comm: kworker/u4:7 Not tainted 5.12.0-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Workqueue: netns cleanup_net
Call Trace:
 __dump_stack lib/dump_stack.c:79 [inline]
 dump_stack+0x141/0x1d7 lib/dump_stack.c:120
 ___might_sleep+0x229/0x2c0 kernel/sched/core.c:8304
 get_next_corpse net/netfilter/nf_conntrack_core.c:2223 [inline]
 nf_ct_iterate_cleanup+0x16d/0x450 net/netfilter/nf_conntrack_core.c:2245
 nf_conntrack_cleanup_net_list+0x81/0x250 net/netfilter/nf_conntrack_core.c:2432
 ops_exit_list+0x10d/0x160 net/core/net_namespace.c:178
 cleanup_net+0x4ea/0xb10 net/core/net_namespace.c:595
 process_one_work+0x98d/0x1600 kernel/workqueue.c:2275
 worker_thread+0x64c/0x1120 kernel/workqueue.c:2421
 kthread+0x3b1/0x4a0 kernel/kthread.c:313
 ret_from_fork+0x1f/0x30 arch/x86/entry/entry_64.S:294

---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at [email-masked].

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.