Messages in this thread | | | Date | Tue, 30 Jan 2018 16:38:46 -0800 | From | Eric Biggers <> | Subject | Re: BUG: sleeping function called from invalid context at net/core/sock.c:LINE (2) |
| |
On Fri, Dec 01, 2017 at 03:19:01AM -0800, syzbot wrote: > Hello, > > syzkaller hit the following crash on > 43f462f1c2e111d2882b48baeeff774ae42e7c56 > git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/master > compiler: gcc (GCC) 7.1.1 20170620 > .config is attached > Raw console output is attached. > > Unfortunately, I don't have any reproducer for this bug yet. > > > BUG: sleeping function called from invalid context at net/core/sock.c:2761 > in_atomic(): 1, irqs_disabled(): 0, pid: 23, name: kworker/1:1 > 2 locks held by kworker/1:1/23: > #0: ((wq_completion)"%s"name){+.+.}, at: [<ffffffff8147b244>] > __write_once_size include/linux/compiler.h:212 [inline] > #0: ((wq_completion)"%s"name){+.+.}, at: [<ffffffff8147b244>] atomic64_set > arch/x86/include/asm/atomic64_64.h:34 [inline] > #0: ((wq_completion)"%s"name){+.+.}, at: [<ffffffff8147b244>] > atomic_long_set include/asm-generic/atomic-long.h:57 [inline] > #0: ((wq_completion)"%s"name){+.+.}, at: [<ffffffff8147b244>] > set_work_data kernel/workqueue.c:618 [inline] > #0: ((wq_completion)"%s"name){+.+.}, at: [<ffffffff8147b244>] > set_work_pool_and_clear_pending kernel/workqueue.c:645 [inline] > #0: ((wq_completion)"%s"name){+.+.}, at: [<ffffffff8147b244>] > process_one_work+0xad4/0x1be0 kernel/workqueue.c:2083 > #1: ((work_completion)(&squeue->work)){+.+.}, at: [<ffffffff8147b29f>] > process_one_work+0xb2f/0x1be0 kernel/workqueue.c:2087 > CPU: 1 PID: 23 Comm: kworker/1:1 Not tainted 4.15.0-rc1+ #198 > Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS > Google 01/01/2011 > Workqueue: pencrypt padata_serial_worker > 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 > lock_sock_nested+0x37/0x110 net/core/sock.c:2761 > lock_sock include/net/sock.h:1465 [inline] > af_alg_async_cb+0x86/0x1a0 crypto/af_alg.c:1039 > aead_request_complete include/crypto/internal/aead.h:75 [inline] > pcrypt_aead_serial+0x75/0xa0 crypto/pcrypt.c:123 > padata_serial_worker+0x476/0x750 kernel/padata.c:348 > process_one_work+0xbfd/0x1be0 kernel/workqueue.c:2112 > worker_thread+0x223/0x1990 kernel/workqueue.c:2246 > kthread+0x37a/0x440 kernel/kthread.c:238 > ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:441
This crash stopped occurring around Nov 29. It seems to have been fixed by the following commit (merged into mainline by 43570f0383d), so telling syzbot:
#syz fix: crypto: af_alg - remove locking in async callback
| |