bisecting fixing commit since fbc5fe7a54d02e11972e3b2a5ddb6ffc88162c8f building syzkaller on b20883285d2350f5694399287b7f03478a3036c6 testing commit fbc5fe7a54d02e11972e3b2a5ddb6ffc88162c8f with gcc (GCC) 8.1.0 kernel signature: 3304e46f3dbf33c0d790285730d78e501f909b893b47a05ef69237404b50513d all runs: crashed: BUG: sleeping function called from invalid context in lock_sock_nested testing current HEAD 9fa690a2a016e1b55356835f047b952e67d3d73a testing commit 9fa690a2a016e1b55356835f047b952e67d3d73a with gcc (GCC) 8.1.0 kernel signature: 123a8b4b2b05182546ace31d3062270fbf9cef0da4925ad8ed3e83fe25050fc6 all runs: crashed: BUG: sleeping function called from invalid context in lock_sock_nested revisions tested: 2, total time: 26m37.164245451s (build: 17m22.279973874s, test: 8m39.464256501s) the crash still happens on HEAD commit msg: Linux 4.14.169 crash: BUG: sleeping function called from invalid context in lock_sock_nested BUG: sleeping function called from invalid context at net/core/sock.c:2761 in_atomic(): 1, irqs_disabled(): 0, pid: 7, name: ksoftirqd/0 1 lock held by ksoftirqd/0/7: #0: (rcu_callback){....}, at: [] __rcu_reclaim kernel/rcu/rcu.h:185 [inline] #0: (rcu_callback){....}, at: [] rcu_do_batch kernel/rcu/tree.c:2699 [inline] #0: (rcu_callback){....}, at: [] invoke_rcu_callbacks kernel/rcu/tree.c:2962 [inline] #0: (rcu_callback){....}, at: [] __rcu_process_callbacks kernel/rcu/tree.c:2929 [inline] #0: (rcu_callback){....}, at: [] rcu_process_callbacks+0x8be/0x11e0 kernel/rcu/tree.c:2946 Preemption disabled at: [] __do_softirq+0xe7/0x9b0 kernel/softirq.c:265 CPU: 0 PID: 7 Comm: ksoftirqd/0 Not tainted 4.14.169-syzkaller #0 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+0xf7/0x13b lib/dump_stack.c:58 ___might_sleep.cold.86+0x1bb/0x1f4 kernel/sched/core.c:6041 __might_sleep+0x93/0xb0 kernel/sched/core.c:5994 lock_sock_nested+0x24/0x100 net/core/sock.c:2761 lock_sock include/net/sock.h:1467 [inline] af_alg_release_parent+0x124/0x1e0 crypto/af_alg.c:142 hash_sock_destruct+0x14e/0x1c0 crypto/algif_hash.c:432 __sk_destruct+0x48/0x5a0 net/core/sock.c:1556 __rcu_reclaim kernel/rcu/rcu.h:195 [inline] rcu_do_batch kernel/rcu/tree.c:2699 [inline] invoke_rcu_callbacks kernel/rcu/tree.c:2962 [inline] __rcu_process_callbacks kernel/rcu/tree.c:2929 [inline] rcu_process_callbacks+0x7e0/0x11e0 kernel/rcu/tree.c:2946 __do_softirq+0x246/0x9b0 kernel/softirq.c:288 run_ksoftirqd+0x92/0x1a0 kernel/softirq.c:670 smpboot_thread_fn+0x553/0x850 kernel/smpboot.c:164 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 ================================ WARNING: inconsistent lock state 4.14.169-syzkaller #0 Tainted: G W -------------------------------- inconsistent {SOFTIRQ-ON-W} -> {IN-SOFTIRQ-W} usage. ksoftirqd/0/7 [HC0[0]:SC1[3]:HE1:SE0] takes: (sk_lock-AF_ALG){+.?.}, at: [] lock_sock include/net/sock.h:1467 [inline] (sk_lock-AF_ALG){+.?.}, at: [] af_alg_release_parent+0x124/0x1e0 crypto/af_alg.c:142 {SOFTIRQ-ON-W} state was registered at: mark_held_locks+0xc7/0x130 kernel/locking/lockdep.c:2850 __trace_hardirqs_on_caller kernel/locking/lockdep.c:2879 [inline] trace_hardirqs_on_caller+0x40c/0x580 kernel/locking/lockdep.c:2926 trace_hardirqs_on+0xd/0x10 kernel/locking/lockdep.c:2933 __local_bh_enable_ip+0x9c/0x180 kernel/softirq.c:190 local_bh_enable include/linux/bottom_half.h:32 [inline] lock_sock_nested+0xc5/0x100 net/core/sock.c:2771 lock_sock include/net/sock.h:1467 [inline] alg_bind+0x21c/0x4d0 crypto/af_alg.c:192 SYSC_bind+0x1bf/0x210 net/socket.c:1489 SyS_bind+0x9/0x10 net/socket.c:1475 do_syscall_64+0x1c7/0x5b0 arch/x86/entry/common.c:292 entry_SYSCALL_64_after_hwframe+0x42/0xb7 irq event stamp: 2872636 hardirqs last enabled at (2872636): [] restore_regs_and_return_to_kernel+0x0/0x27 hardirqs last disabled at (2872635): [] apic_timer_interrupt+0x91/0xa0 arch/x86/entry/entry_64.S:792 softirqs last enabled at (2872466): [] __do_softirq+0x654/0x9b0 kernel/softirq.c:314 softirqs last disabled at (2872469): [] run_ksoftirqd+0x92/0x1a0 kernel/softirq.c:670 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(sk_lock-AF_ALG); lock(sk_lock-AF_ALG); *** DEADLOCK *** 1 lock held by ksoftirqd/0/7: #0: (rcu_callback){....}, at: [] __rcu_reclaim kernel/rcu/rcu.h:185 [inline] #0: (rcu_callback){....}, at: [] rcu_do_batch kernel/rcu/tree.c:2699 [inline] #0: (rcu_callback){....}, at: [] invoke_rcu_callbacks kernel/rcu/tree.c:2962 [inline] #0: (rcu_callback){....}, at: [] __rcu_process_callbacks kernel/rcu/tree.c:2929 [inline] #0: (rcu_callback){....}, at: [] rcu_process_callbacks+0x8be/0x11e0 kernel/rcu/tree.c:2946 stack backtrace: CPU: 0 PID: 7 Comm: ksoftirqd/0 Tainted: G W 4.14.169-syzkaller #0 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+0xf7/0x13b lib/dump_stack.c:58 print_usage_bug.cold.72+0x320/0x41a kernel/locking/lockdep.c:2585 valid_state kernel/locking/lockdep.c:2598 [inline] mark_lock_irq kernel/locking/lockdep.c:2792 [inline] mark_lock+0xdf6/0x1210 kernel/locking/lockdep.c:3190 mark_irqflags kernel/locking/lockdep.c:3068 [inline] __lock_acquire+0x13a9/0x4500 kernel/locking/lockdep.c:3444 lock_acquire+0x173/0x400 kernel/locking/lockdep.c:3994 lock_sock_nested+0xb3/0x100 net/core/sock.c:2770 lock_sock include/net/sock.h:1467 [inline] af_alg_release_parent+0x124/0x1e0 crypto/af_alg.c:142 hash_sock_destruct+0x14e/0x1c0 crypto/algif_hash.c:432 __sk_destruct+0x48/0x5a0 net/core/sock.c:1556 __rcu_reclaim kernel/rcu/rcu.h:195 [inline] rcu_do_batch kernel/rcu/tree.c:2699 [inline] invoke_rcu_callbacks kernel/rcu/tree.c:2962 [inline] __rcu_process_callbacks kernel/rcu/tree.c:2929 [inline] rcu_process_callbacks+0x7e0/0x11e0 kernel/rcu/tree.c:2946 __do_softirq+0x246/0x9b0 kernel/softirq.c:288 run_ksoftirqd+0x92/0x1a0 kernel/softirq.c:670 smpboot_thread_fn+0x553/0x850 kernel/smpboot.c:164 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 BUG: sleeping function called from invalid context at net/core/sock.c:2761 in_atomic(): 1, irqs_disabled(): 0, pid: 7, name: ksoftirqd/0 INFO: lockdep is turned off. Preemption disabled at: [] __do_softirq+0xe7/0x9b0 kernel/softirq.c:265 CPU: 0 PID: 7 Comm: ksoftirqd/0 Tainted: G W 4.14.169-syzkaller #0 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+0xf7/0x13b lib/dump_stack.c:58 ___might_sleep.cold.86+0x1bb/0x1f4 kernel/sched/core.c:6041 __might_sleep+0x93/0xb0 kernel/sched/core.c:5994 lock_sock_nested+0x24/0x100 net/core/sock.c:2761 lock_sock include/net/sock.h:1467 [inline] af_alg_release_parent+0x124/0x1e0 crypto/af_alg.c:142 hash_sock_destruct+0x14e/0x1c0 crypto/algif_hash.c:432 __sk_destruct+0x48/0x5a0 net/core/sock.c:1556 __rcu_reclaim kernel/rcu/rcu.h:195 [inline] rcu_do_batch kernel/rcu/tree.c:2699 [inline] invoke_rcu_callbacks kernel/rcu/tree.c:2962 [inline] __rcu_process_callbacks kernel/rcu/tree.c:2929 [inline] rcu_process_callbacks+0x7e0/0x11e0 kernel/rcu/tree.c:2946 __do_softirq+0x246/0x9b0 kernel/softirq.c:288 run_ksoftirqd+0x92/0x1a0 kernel/softirq.c:670 smpboot_thread_fn+0x553/0x850 kernel/smpboot.c:164 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404 BUG: sleeping function called from invalid context at net/core/sock.c:2761 in_atomic(): 1, irqs_disabled(): 0, pid: 17, name: ksoftirqd/1 INFO: lockdep is turned off. Preemption disabled at: [] __do_softirq+0xe7/0x9b0 kernel/softirq.c:265 CPU: 1 PID: 17 Comm: ksoftirqd/1 Tainted: G W 4.14.169-syzkaller #0 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+0xf7/0x13b lib/dump_stack.c:58 ___might_sleep.cold.86+0x1bb/0x1f4 kernel/sched/core.c:6041 __might_sleep+0x93/0xb0 kernel/sched/core.c:5994 lock_sock_nested+0x24/0x100 net/core/sock.c:2761 lock_sock include/net/sock.h:1467 [inline] af_alg_release_parent+0x124/0x1e0 crypto/af_alg.c:142 hash_sock_destruct+0x14e/0x1c0 crypto/algif_hash.c:432 __sk_destruct+0x48/0x5a0 net/core/sock.c:1556 __rcu_reclaim kernel/rcu/rcu.h:195 [inline] rcu_do_batch kernel/rcu/tree.c:2699 [inline] invoke_rcu_callbacks kernel/rcu/tree.c:2962 [inline] __rcu_process_callbacks kernel/rcu/tree.c:2929 [inline] rcu_process_callbacks+0x7e0/0x11e0 kernel/rcu/tree.c:2946 __do_softirq+0x246/0x9b0 kernel/softirq.c:288 run_ksoftirqd+0x92/0x1a0 kernel/softirq.c:670 smpboot_thread_fn+0x553/0x850 kernel/smpboot.c:164 kthread+0x338/0x400 kernel/kthread.c:232 ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404