============================= WARNING: suspicious RCU usage 4.15.0+ #11 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 3 locks held by syz-executor7/11499: #0: (&ctx->mutex){+.+.}, at: [<00000000e62e425e>] perf_event_ctx_lock_nested+0x21b/0x450 kernel/events/core.c:1253 #1: (bpf_event_mutex){+.+.}, at: [<00000000cf826f4e>] perf_event_query_prog_array+0x10e/0x280 kernel/trace/bpf_trace.c:876 #2: (rcu_read_lock){....}, at: [<00000000e21158c2>] bpf_prog_array_copy_to_user+0x0/0x4d0 kernel/bpf/core.c:1568 stack backtrace: CPU: 0 PID: 11499 Comm: syz-executor7 Not tainted 4.15.0+ #11 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:4592 rcu_preempt_sleep_check include/linux/rcupdate.h:301 [inline] ___might_sleep+0x385/0x470 kernel/sched/core.c:6079 __might_sleep+0x95/0x190 kernel/sched/core.c:6067 __might_fault+0xab/0x1d0 mm/memory.c:4558 _copy_to_user+0x2c/0xc0 lib/usercopy.c:25 copy_to_user include/linux/uaccess.h:155 [inline] bpf_prog_array_copy_to_user+0x217/0x4d0 kernel/bpf/core.c:1587 bpf_prog_array_copy_info+0x17b/0x1c0 kernel/bpf/core.c:1685 perf_event_query_prog_array+0x196/0x280 kernel/trace/bpf_trace.c:877 _perf_ioctl kernel/events/core.c:4737 [inline] perf_ioctl+0x3e1/0x1480 kernel/events/core.c:4757 vfs_ioctl fs/ioctl.c:46 [inline] do_vfs_ioctl+0x1b1/0x1520 fs/ioctl.c:686 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:692 entry_SYSCALL_64_fastpath+0x29/0xa0 RIP: 0033:0x4537d9 RSP: 002b:00007f53db411c58 EFLAGS: 00000212 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 000000000071bea0 RCX: 00000000004537d9 RDX: 0000000020d46fe4 RSI: 00000000c008240a RDI: 0000000000000012 RBP: 0000000000000434 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000212 R12: 00000000006f5580 R13: 00000000ffffffff R14: 00007f53db4126d4 R15: 0000000000000000 BUG: sleeping function called from invalid context at lib/usercopy.c:25 in_atomic(): 1, irqs_disabled(): 0, pid: 11499, name: syz-executor7 3 locks held by syz-executor7/11499: #0: (&ctx->mutex){+.+.}, at: [<00000000e62e425e>] perf_event_ctx_lock_nested+0x21b/0x450 kernel/events/core.c:1253 #1: (bpf_event_mutex){+.+.}, at: [<00000000cf826f4e>] perf_event_query_prog_array+0x10e/0x280 kernel/trace/bpf_trace.c:876 #2: (rcu_read_lock){....}, at: [<00000000e21158c2>] bpf_prog_array_copy_to_user+0x0/0x4d0 kernel/bpf/core.c:1568 CPU: 0 PID: 11499 Comm: syz-executor7 Not tainted 4.15.0+ #11 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:6114 __might_sleep+0x95/0x190 kernel/sched/core.c:6067 __might_fault+0xab/0x1d0 mm/memory.c:4558 _copy_to_user+0x2c/0xc0 lib/usercopy.c:25 copy_to_user include/linux/uaccess.h:155 [inline] bpf_prog_array_copy_to_user+0x217/0x4d0 kernel/bpf/core.c:1587 bpf_prog_array_copy_info+0x17b/0x1c0 kernel/bpf/core.c:1685 perf_event_query_prog_array+0x196/0x280 kernel/trace/bpf_trace.c:877 _perf_ioctl kernel/events/core.c:4737 [inline] perf_ioctl+0x3e1/0x1480 kernel/events/core.c:4757 vfs_ioctl fs/ioctl.c:46 [inline] do_vfs_ioctl+0x1b1/0x1520 fs/ioctl.c:686 SYSC_ioctl fs/ioctl.c:701 [inline] SyS_ioctl+0x8f/0xc0 fs/ioctl.c:692 entry_SYSCALL_64_fastpath+0x29/0xa0 RIP: 0033:0x4537d9 RSP: 002b:00007f53db411c58 EFLAGS: 00000212 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 000000000071bea0 RCX: 00000000004537d9 RDX: 0000000020d46fe4 RSI: 00000000c008240a RDI: 0000000000000012 RBP: 0000000000000434 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000212 R12: 00000000006f5580 R13: 00000000ffffffff R14: 00007f53db4126d4 R15: 0000000000000000 can: request_module (can-proto-5) failed. can: request_module (can-proto-5) failed. can: request_module (can-proto-0) failed. can: request_module (can-proto-0) failed. overlayfs: missing 'lowerdir' overlayfs: missing 'lowerdir' hugetlbfs: Bad mount option: "ß" hugetlbfs: Bad mount option: "ß" FAULT_INJECTION: forcing a failure. name failslab, interval 1, probability 0, space 0, times 0 CPU: 0 PID: 12744 Comm: syz-executor4 Tainted: G W 4.15.0+ #11 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 fail_dump lib/fault-inject.c:51 [inline] should_fail+0x8c0/0xa40 lib/fault-inject.c:149 should_failslab+0xec/0x120 mm/failslab.c:32 slab_pre_alloc_hook mm/slab.h:422 [inline] slab_alloc mm/slab.c:3365 [inline] kmem_cache_alloc+0x47/0x760 mm/slab.c:3539 __d_alloc+0xc1/0xbd0 fs/dcache.c:1605 d_alloc_pseudo+0x1d/0x30 fs/dcache.c:1721 anon_inode_getfile+0x1b5/0x480 fs/anon_inodes.c:92 anon_inode_getfd+0x45/0x90 fs/anon_inodes.c:150 bpf_map_new_fd+0x54/0x70 kernel/bpf/syscall.c:370 bpf_map_get_fd_by_id kernel/bpf/syscall.c:1611 [inline] SYSC_bpf kernel/bpf/syscall.c:1915 [inline] SyS_bpf+0x2439/0x4860 kernel/bpf/syscall.c:1843 entry_SYSCALL_64_fastpath+0x29/0xa0 RIP: 0033:0x4537d9 RSP: 002b:00007f6c88fc7c58 EFLAGS: 00000212 ORIG_RAX: 0000000000000141 RAX: ffffffffffffffda RBX: 00007f6c88fc7aa0 RCX: 00000000004537d9 RDX: 000000000000000c RSI: 0000000020aadff4 RDI: 000000000000000e RBP: 00007f6c88fc7a90 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000212 R12: 00000000004b863a R13: 00007f6c88fc7bc8 R14: 00000000004b863a R15: 0000000000000000