============================= WARNING: suspicious RCU usage 4.15.0-rc8+ #1 Not tainted ----------------------------- ./include/linux/rcupdate.h:302 Illegal context switch in RCU read-side critical section! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 1 lock held by syz-executor2/6322: #0: (rcu_read_lock){....}, at: [<000000005d804b54>] map_get_next_key kernel/bpf/syscall.c:836 [inline] #0: (rcu_read_lock){....}, at: [<000000005d804b54>] SYSC_bpf kernel/bpf/syscall.c:1881 [inline] #0: (rcu_read_lock){....}, at: [<000000005d804b54>] SyS_bpf+0x1105/0x4860 kernel/bpf/syscall.c:1846 stack backtrace: CPU: 1 PID: 6322 Comm: syz-executor2 Not tainted 4.15.0-rc8+ #1 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:53 lockdep_rcu_suspicious+0x123/0x170 kernel/locking/lockdep.c:4585 rcu_preempt_sleep_check include/linux/rcupdate.h:301 [inline] ___might_sleep+0x385/0x470 kernel/sched/core.c:6025 __might_sleep+0x95/0x190 kernel/sched/core.c:6013 slab_pre_alloc_hook mm/slab.h:419 [inline] slab_alloc mm/slab.c:3368 [inline] __do_kmalloc mm/slab.c:3706 [inline] __kmalloc+0x2c5/0x760 mm/slab.c:3717 kmalloc include/linux/slab.h:504 [inline] trie_get_next_key+0x517/0xf10 kernel/bpf/lpm_trie.c:626 map_get_next_key kernel/bpf/syscall.c:842 [inline] SYSC_bpf kernel/bpf/syscall.c:1881 [inline] SyS_bpf+0x11b4/0x4860 kernel/bpf/syscall.c:1846 entry_SYSCALL_64_fastpath+0x29/0xa0 RIP: 0033:0x452ef9 RSP: 002b:00007f241adeac58 EFLAGS: 00000212 ORIG_RAX: 0000000000000141 RAX: ffffffffffffffda RBX: 000000000071bea0 RCX: 0000000000452ef9 RDX: 0000000000000018 RSI: 0000000020013fe8 RDI: 0000000000000004 RBP: 0000000000000040 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000212 R12: 00000000006ef6a0 R13: 00000000ffffffff R14: 00007f241adeb6d4 R15: 0000000000000000 BUG: sleeping function called from invalid context at mm/slab.h:419 in_atomic(): 1, irqs_disabled(): 0, pid: 6322, name: syz-executor2 1 lock held by syz-executor2/6322: #0: (rcu_read_lock){....}, at: [<000000005d804b54>] map_get_next_key kernel/bpf/syscall.c:836 [inline] #0: (rcu_read_lock){....}, at: [<000000005d804b54>] SYSC_bpf kernel/bpf/syscall.c:1881 [inline] #0: (rcu_read_lock){....}, at: [<000000005d804b54>] SyS_bpf+0x1105/0x4860 kernel/bpf/syscall.c:1846 CPU: 1 PID: 6322 Comm: syz-executor2 Not tainted 4.15.0-rc8+ #1 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: __dump_stack lib/dump_stack.c:17 [inline] dump_stack+0x194/0x257 lib/dump_stack.c:53 ___might_sleep+0x2b2/0x470 kernel/sched/core.c:6060 __might_sleep+0x95/0x190 kernel/sched/core.c:6013 slab_pre_alloc_hook mm/slab.h:419 [inline] slab_alloc mm/slab.c:3368 [inline] __do_kmalloc mm/slab.c:3706 [inline] __kmalloc+0x2c5/0x760 mm/slab.c:3717 kmalloc include/linux/slab.h:504 [inline] trie_get_next_key+0x517/0xf10 kernel/bpf/lpm_trie.c:626 map_get_next_key kernel/bpf/syscall.c:842 [inline] SYSC_bpf kernel/bpf/syscall.c:1881 [inline] SyS_bpf+0x11b4/0x4860 kernel/bpf/syscall.c:1846 entry_SYSCALL_64_fastpath+0x29/0xa0 RIP: 0033:0x452ef9 RSP: 002b:00007f241adeac58 EFLAGS: 00000212 ORIG_RAX: 0000000000000141 RAX: ffffffffffffffda RBX: 000000000071bea0 RCX: 0000000000452ef9 RDX: 0000000000000018 RSI: 0000000020013fe8 RDI: 0000000000000004 RBP: 0000000000000040 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000212 R12: 00000000006ef6a0 R13: 00000000ffffffff R14: 00007f241adeb6d4 R15: 0000000000000000 devpts: called with bogus options devpts: called with bogus options audit: type=1400 audit(1516661029.665:20): avc: denied { map } for pid=6523 comm="syz-executor7" path="socket:[14669]" dev="sockfs" ino=14669 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=socket permissive=1 hugetlbfs: Bad mount option: "9" hugetlbfs: Bad mount option: "9" can: request_module (can-proto-0) failed. can: request_module (can-proto-0) failed. audit: type=1400 audit(1516661033.303:21): avc: denied { map } for pid=7029 comm="syz-executor7" path="socket:[14833]" dev="sockfs" ino=14833 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=unix_stream_socket permissive=1 tmpfs: Bad mount option õ'0œ‚ª?CDyì(bDë¦(gå´º tmpfs: Bad mount option õ'0œ‚ª?CDyì(bDë¦(gå´º tmpfs: Bad mount option õ'0œ‚ª?CDyì(bDë¦(gå´º tmpfs: Bad mount option õ'0œ‚ª?CDyì(bDë¦(gå´º overlayfs: unrecognized mount option "zê" or missing value overlayfs: unrecognized mount option "zê" or missing value audit: type=1400 audit(1516661037.550:22): avc: denied { map } for pid=7820 comm="syz-executor2" path="socket:[19652]" dev="sockfs" ino=19652 scontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tcontext=unconfined_u:system_r:insmod_t:s0-s0:c0.c1023 tclass=unix_dgram_socket permissive=1 overlayfs: missing 'lowerdir'