9p: sleeping function called from invalid context in v9fs_vfs_atomic_open_dotl

From: Dmitry Vyukov
Date: Wed Dec 23 2015 - 11:02:01 EST


Hello,

While running syzkaller fuzzer inside of lkvm-based VM I constantly
hit the following warnings:

BUG: sleeping function called from invalid context at include/linux/wait.h:1095
in_atomic(): 1, irqs_disabled(): 0, pid: 3658, name: syz-fuzzer
3 locks held by syz-fuzzer/3658:
#0: (sb_writers#3){.+.+.+}, at: [<ffffffff8171912c>]
__sb_start_write+0xec/0x130 fs/super.c:1198
#1: (&sb->s_type->i_mutex_key#10){+.+.+.}, at: [<ffffffff8173fcf0>]
path_openat+0x2700/0x54a0 fs/namei.c:3323
#2: (&(&v9inode->fscache_lock)->rlock){+.+...}, at:
[<ffffffff8218ae88>] v9fs_cache_inode_set_cookie+0x58/0x180
fs/9p/cache.c:246
CPU: 0 PID: 3658 Comm: syz-fuzzer Not tainted 4.4.0-rc6+ #174
00000000ffffffff ffff88006045f870 ffffffff82899ffd ffff88006b10b180
ffff88006b10b790 0000000000000000 ffff88006045f898 ffffffff81361e68
ffff88006b10b180 ffffffff85deaf40 0000000000000447 ffff88006045f8d8
Call Trace:
[< inline >] __dump_stack lib/dump_stack.c:15
[<ffffffff82899ffd>] dump_stack+0x6f/0xa2 lib/dump_stack.c:50
[<ffffffff81361e68>] ___might_sleep+0x278/0x3a0 kernel/sched/core.c:7597
[<ffffffff81362020>] __might_sleep+0x90/0x1a0 kernel/sched/core.c:7559
[< inline >] wait_on_bit_lock include/linux/wait.h:1095
[<ffffffff818a8f0c>] __fscache_disable_cookie+0xfc/0x540
fs/fscache/cookie.c:527
[<ffffffff818aaaa4>] __fscache_relinquish_cookie+0xb4/0x640
fs/fscache/cookie.c:601
[< inline >] fscache_relinquish_cookie include/linux/fscache.h:370
[< inline >] v9fs_cache_inode_flush_cookie fs/9p/cache.c:235
[<ffffffff8218aef2>] v9fs_cache_inode_set_cookie+0xc2/0x180 fs/9p/cache.c:249
[<ffffffff8218195d>] v9fs_vfs_atomic_open_dotl+0x6ed/0x7e0
fs/9p/vfs_inode_dotl.c:357
[< inline >] lookup_open fs/namei.c:2847
[< inline >] do_last fs/namei.c:3083
[<ffffffff817416d6>] path_openat+0x40e6/0x54a0 fs/namei.c:3323
[<ffffffff8174604e>] do_filp_open+0x18e/0x250 fs/namei.c:3358
[<ffffffff8170e560>] do_sys_open+0x200/0x430 fs/open.c:1025
[< inline >] SYSC_openat fs/open.c:1052
[<ffffffff8170e800>] SyS_openat+0x30/0x40 fs/open.c:1046
[<ffffffff85c8a9f6>] entry_SYSCALL_64_fastpath+0x16/0x7a
arch/x86/entry/entry_64.S:185


Kernel is on commit 4ef7675344d687a0ef5b0d7c0cee12da005870c0 (Dec 20);
kvmtool is on 3c8aec9e2b5066412390559629dabeb7816ee8f2 (Nov 30).
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/