======================================================
WARNING: possible circular locking dependency detected
4.14.0-rc4+ #128 Not tainted
------------------------------------------------------
loop0/6053 is trying to acquire lock:
(sb_writers#5){.+.+}, at: [<ffffffff8354151a>] file_start_write include/linux/fs.h:2696 [inline]
(sb_writers#5){.+.+}, at: [<ffffffff8354151a>] lo_write_bvec+0x23a/0x3b0 drivers/block/loop.c:271
but now in release context of a crosslock acquired at the following:
((complete)&ret.event){+.+.}, at: [<ffffffff822ac7ae>] submit_bio_wait+0x15e/0x200 block/bio.c:953
which lock already depends on the new lock.
the existing dependency chain (in reverse order) is:
-> #5 ((complete)&ret.event){+.+.}:
check_prevs_add kernel/locking/lockdep.c:2020 [inline]
validate_chain kernel/locking/lockdep.c:2469 [inline]
__lock_acquire+0x328f/0x4620 kernel/locking/lockdep.c:3498
lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:4002
complete_acquire include/linux/completion.h:39 [inline]
__wait_for_common kernel/sched/completion.c:108 [inline]
wait_for_common_io kernel/sched/completion.c:128 [inline]
wait_for_completion_io+0xcb/0x7b0 kernel/sched/completion.c:176
submit_bio_wait+0x15e/0x200 block/bio.c:953
blkdev_issue_zeroout+0x13c/0x1d0 block/blk-lib.c:370
sb_issue_zeroout include/linux/blkdev.h:1368 [inline]
ext4_init_inode_table+0x4fd/0xdb1 fs/ext4/ialloc.c:1447
ext4_run_li_request fs/ext4/super.c:2866 [inline]
ext4_lazyinit_thread+0x808/0xd30 fs/ext4/super.c:2960
kthread+0x39c/0x470 kernel/kthread.c:231
ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:431
-> #4 (&meta_group_info[i]->alloc_sem){++++}:
check_prevs_add kernel/locking/lockdep.c:2020 [inline]
validate_chain kernel/locking/lockdep.c:2469 [inline]
__lock_acquire+0x328f/0x4620 kernel/locking/lockdep.c:3498
lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:4002
down_read+0x96/0x150 kernel/locking/rwsem.c:23
__ext4_new_inode+0x26dc/0x4f00 fs/ext4/ialloc.c:1056
ext4_symlink+0x2d9/0xae0 fs/ext4/namei.c:3118
vfs_symlink+0x323/0x560 fs/namei.c:4115
SYSC_symlinkat fs/namei.c:4142 [inline]
SyS_symlinkat fs/namei.c:4122 [inline]
SYSC_symlink fs/namei.c:4155 [inline]
SyS_symlink+0x134/0x200 fs/namei.c:4153
entry_SYSCALL_64_fastpath+0x1f/0xbe
-> #3 (jbd2_handle){++++}:
check_prevs_add kernel/locking/lockdep.c:2020 [inline]
validate_chain kernel/locking/lockdep.c:2469 [inline]
__lock_acquire+0x328f/0x4620 kernel/locking/lockdep.c:3498
lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:4002
start_this_handle+0x4b8/0x1080 fs/jbd2/transaction.c:390
jbd2__journal_start+0x389/0x9f0 fs/jbd2/transaction.c:444
__ext4_journal_start_sb+0x15f/0x550 fs/ext4/ext4_jbd2.c:80
__ext4_journal_start fs/ext4/ext4_jbd2.h:314 [inline]
ext4_dirty_inode+0x56/0xa0 fs/ext4/inode.c:5859
__mark_inode_dirty+0x912/0x1170 fs/fs-writeback.c:2096
generic_update_time+0x1b2/0x270 fs/inode.c:1649
update_time fs/inode.c:1665 [inline]
touch_atime+0x26d/0x2f0 fs/inode.c:1737
file_accessed include/linux/fs.h:2061 [inline]
ext4_file_mmap+0x161/0x1b0 fs/ext4/file.c:352
call_mmap include/linux/fs.h:1775 [inline]
mmap_region+0xa99/0x15a0 mm/mmap.c:1690
do_mmap+0x6a1/0xd50 mm/mmap.c:1468
do_mmap_pgoff include/linux/mm.h:2150 [inline]
vm_mmap_pgoff+0x1de/0x280 mm/util.c:333
SYSC_mmap_pgoff mm/mmap.c:1518 [inline]
SyS_mmap_pgoff+0x462/0x5f0 mm/mmap.c:1476
SYSC_mmap arch/x86/kernel/sys_x86_64.c:99 [inline]
SyS_mmap+0x16/0x20 arch/x86/kernel/sys_x86_64.c:90
entry_SYSCALL_64_fastpath+0x1f/0xbe
-> #2 (&mm->mmap_sem){++++}:
check_prevs_add kernel/locking/lockdep.c:2020 [inline]
validate_chain kernel/locking/lockdep.c:2469 [inline]
__lock_acquire+0x328f/0x4620 kernel/locking/lockdep.c:3498
lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:4002
__might_fault+0x13a/0x1d0 mm/memory.c:4502
_copy_to_user+0x2c/0xc0 lib/usercopy.c:24
copy_to_user include/linux/uaccess.h:154 [inline]
filldir+0x1a7/0x320 fs/readdir.c:196
dir_emit_dot include/linux/fs.h:3339 [inline]
dir_emit_dots include/linux/fs.h:3350 [inline]
dcache_readdir+0x12d/0x5e0 fs/libfs.c:192
iterate_dir+0x4b2/0x5d0 fs/readdir.c:51
SYSC_getdents fs/readdir.c:231 [inline]
SyS_getdents+0x225/0x450 fs/readdir.c:212
entry_SYSCALL_64_fastpath+0x1f/0xbe
-> #1 (&sb->s_type->i_mutex_key#9){++++}:
check_prevs_add kernel/locking/lockdep.c:2020 [inline]
validate_chain kernel/locking/lockdep.c:2469 [inline]
__lock_acquire+0x328f/0x4620 kernel/locking/lockdep.c:3498
lock_acquire+0x1d5/0x580 kernel/locking/lockdep.c:4002
down_write+0x87/0x120 kernel/locking/rwsem.c:53
inode_lock include/linux/fs.h:712 [inline]
do_last fs/namei.c:3296 [inline]
path_openat+0xd53/0x3520 fs/namei.c:3527
do_filp_open+0x25b/0x3b0 fs/namei.c:3562
do_sys_open+0x502/0x6d0 fs/open.c:1059
SYSC_open fs/open.c:1077 [inline]
SyS_open+0x2d/0x40 fs/open.c:1072
entry_SYSCALL_64_fastpath+0x1f/0xbe
-> #0 (sb_writers#5){.+.+}:
percpu_down_read_preempt_disable include/linux/percpu-rwsem.h:35 [inline]
percpu_down_read include/linux/percpu-rwsem.h:58 [inline]
__sb_start_write+0x18f/0x290 fs/super.c:1340
file_start_write include/linux/fs.h:2696 [inline]
lo_write_bvec+0x23a/0x3b0 drivers/block/loop.c:271
lo_write_transfer drivers/block/loop.c:329 [inline]
do_req_filebacked drivers/block/loop.c:573 [inline]
loop_handle_cmd drivers/block/loop.c:1705 [inline]
loop_queue_work+0x109d/0x3900 drivers/block/loop.c:1719
kthread_worker_fn+0x32b/0x980 kernel/kthread.c:635
loop_kthread_worker_fn+0x51/0x60 drivers/block/loop.c:836
other info that might help us debug this:
Chain exists of:
sb_writers#5 --> &meta_group_info[i]->alloc_sem --> (complete)&ret.event
Possible unsafe locking scenario by crosslock:
CPU0 CPU1
---- ----
lock(&meta_group_info[i]->alloc_sem);
lock((complete)&ret.event);
lock(sb_writers#5);
unlock((complete)&ret.event);
*** DEADLOCK ***
1 lock held by loop0/6053:
#0: (&x->wait#14){..-.}, at: [<ffffffff8152aee8>] complete+0x18/0x80 kernel/sched/completion.c:34
stack backtrace:
CPU: 0 PID: 6053 Comm: loop0 Not tainted 4.14.0-rc4+ #128
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
Call Trace:
__dump_stack lib/dump_stack.c:16 [inline]
dump_stack+0x194/0x257 lib/dump_stack.c:52
print_circular_bug+0x503/0x710 kernel/locking/lockdep.c:1259
check_prev_add+0x865/0x1520 kernel/locking/lockdep.c:1894
commit_xhlock kernel/locking/lockdep.c:5015 [inline]
commit_xhlocks kernel/locking/lockdep.c:5059 [inline]
lock_commit_crosslock+0xe59/0x1d00 kernel/locking/lockdep.c:5098
complete_release_commit include/linux/completion.h:49 [inline]
complete+0x24/0x80 kernel/sched/completion.c:39
submit_bio_wait_endio+0x9c/0xd0 block/bio.c:930
bio_endio+0x2f8/0x8d0 block/bio.c:1855
req_bio_endio block/blk-core.c:204 [inline]
blk_update_request+0x2a6/0xe20 block/blk-core.c:2746
blk_mq_end_request+0x54/0x120 block/blk-mq.c:509
lo_complete_rq+0xbe/0x1f0 drivers/block/loop.c:463
__blk_mq_complete_request+0x38f/0x6c0 block/blk-mq.c:550
blk_mq_complete_request+0x4f/0x60 block/blk-mq.c:570
loop_handle_cmd drivers/block/loop.c:1710 [inline]
loop_queue_work+0x26b/0x3900 drivers/block/loop.c:1719
kthread_worker_fn+0x32b/0x980 kernel/kthread.c:635
loop_kthread_worker_fn+0x51/0x60 drivers/block/loop.c:836
kthread+0x39c/0x470 kernel/kthread.c:231
ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:431
print_req_error: I/O error, dev loop0, sector 0
print_req_error: I/O error, dev loop0, sector 0
Buffer I/O error on dev loop0, logical block 0, async page read
print_req_error: I/O error, dev loop0, sector 0
Buffer I/O error on dev loop0, logical block 0, async page read
print_req_error: I/O error, dev loop0, sector 0
Buffer I/O error on dev loop0, logical block 0, async page read
print_req_error: I/O error, dev loop0, sector 0
Buffer I/O error on dev loop0, logical block 0, async page read
Buffer I/O error on dev loop0, logical block 0, async page read
Buffer I/O error on dev loop0, logical block 0, async page read
Buffer I/O error on dev loop0, logical block 0, async page read
Buffer I/O error on dev loop0, logical block 0, async page read
øÿÿÿ: renamed from syz5
rfkill: input handler disabled
rfkill: input handler enabled
sock: process `syz-executor3' is using obsolete getsockopt SO_BSDCOMPAT
netlink: 16 bytes leftover after parsing attributes in process `syz-executor6'.
kauditd_printk_skb: 69 callbacks suppressed
audit: type=1326 audit(1507886489.772:559): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=12894 comm="syz-executor2" exe="/root/syz-executor2" sig=9 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x0
netlink: 16 bytes leftover after parsing attributes in process `syz-executor6'.
audit: type=1326 audit(1507886489.902:560): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=12894 comm="syz-executor2" exe="/root/syz-executor2" sig=9 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x0
netlink: 2 bytes leftover after parsing attributes in process `syz-executor2'.
QAT: Invalid ioctl
netlink: 2 bytes leftover after parsing attributes in process `syz-executor2'.
netlink: 5 bytes leftover after parsing attributes in process `syz-executor1'.
QAT: Invalid ioctl
netlink: 5 bytes leftover after parsing attributes in process `syz-executor1'.
audit: type=1326 audit(1507886490.327:561): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=13033 comm="syz-executor6" exe="/root/syz-executor6" sig=31 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0xffff0000
syz4: Invalid MTU 4 requested, hw min 68
netlink: 3 bytes leftover after parsing attributes in process `syz-executor3'.
syz4: Invalid MTU 4 requested, hw min 68
loop: Write error at byte offset 18446744073709551614, length 4096.
loop: Write error at byte offset 18446744073709551614, length 4096.
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=13191 comm=syz-executor6
audit: type=1326 audit(1507886490.937:562): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=13202 comm="syz-executor5" exe="/root/syz-executor5" sig=31 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0xffff0000
QAT: Invalid ioctl
TCP: request_sock_TCP: Possible SYN flooding on port 20016. Sending cookies. Check SNMP counters.
audit: type=1326 audit(1507886491.061:563): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=13202 comm="syz-executor5" exe="/root/syz-executor5" sig=31 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0xffff0000
QAT: Invalid ioctl
device gre0 entered promiscuous mode
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=3 sclass=netlink_route_socket pig=13322 comm=syz-executor2
QAT: Invalid ioctl
QAT: Invalid ioctl
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=13322 comm=syz-executor2
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=3 sclass=netlink_route_socket pig=13322 comm=syz-executor2
QAT: Invalid ioctl
QAT: Invalid ioctl
QAT: Invalid ioctl
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=13336 comm=syz-executor2
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=1042 sclass=netlink_route_socket pig=13349 comm=syz-executor4
QAT: Invalid ioctl
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=1042 sclass=netlink_route_socket pig=13349 comm=syz-executor4
device gre0 entered promiscuous mode
audit: type=1326 audit(1507886491.903:564): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=13415 comm="syz-executor1" exe="/root/syz-executor1" sig=31 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0xffff0000
audit: type=1326 audit(1507886491.983:565): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=13415 comm="syz-executor1" exe="/root/syz-executor1" sig=31 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0xffff0000
audit: type=1326 audit(1507886492.097:566): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=13473 comm="syz-executor1" exe="/root/syz-executor1" sig=9 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x0
audit: type=1326 audit(1507886492.197:567): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=13473 comm="syz-executor1" exe="/root/syz-executor1" sig=9 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x0
audit: type=1326 audit(1507886492.437:568): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=13550 comm="syz-executor1" exe="/root/syz-executor1" sig=9 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x0
device gre0 entered promiscuous mode
QAT: Invalid ioctl
QAT: Invalid ioctl
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=5 sclass=netlink_route_socket pig=13793 comm=syz-executor3
kvm: pic: non byte write
kvm: pic: single mode not supported
nla_parse: 5 callbacks suppressed
netlink: 1 bytes leftover after parsing attributes in process `syz-executor6'.
9pnet_virtio: no channels available for device ./bus
QAT: Invalid ioctl
QAT: Invalid ioctl
netlink: 1 bytes leftover after parsing attributes in process `syz-executor6'.
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=5 sclass=netlink_route_socket pig=13814 comm=syz-executor3
sctp: [Deprecated]: syz-executor4 (pid 13835) Use of struct sctp_assoc_value in delayed_ack socket option.
Use struct sctp_sack_info instead
sctp: [Deprecated]: syz-executor4 (pid 13835) Use of struct sctp_assoc_value in delayed_ack socket option.
Use struct sctp_sack_info instead
netlink: 1 bytes leftover after parsing attributes in process `syz-executor7'.
device lo entered promiscuous mode
9pnet_virtio: no channels available for device ./bus
tmpfs: No value for mount option 's'
tmpfs: No value for mount option 's'
print_req_error: 568 callbacks suppressed
print_req_error: I/O error, dev loop0, sector 0
print_req_error: I/O error, dev loop0, sector 0
buffer_io_error: 555 callbacks suppressed
Buffer I/O error on dev loop0, logical block 0, async page read
print_req_error: I/O error, dev loop0, sector 0
Buffer I/O error on dev loop0, logical block 0, async page read
print_req_error: I/O error, dev loop0, sector 0
print_req_error: I/O error, dev loop0, sector 0
Buffer I/O error on dev loop0, logical block 0, async page read
netlink: 3 bytes leftover after parsing attributes in process `syz-executor4'.
netlink: 1 bytes leftover after parsing attributes in process `syz-executor4'.
print_req_error: I/O error, dev loop0, sector 0
Buffer I/O error on dev loop0, logical block 0, async page read
print_req_error: I/O error, dev loop0, sector 0
Buffer I/O error on dev loop0, logical block 0, async page read
print_req_error: I/O error, dev loop0, sector 0
netlink: 3 bytes leftover after parsing attributes in process `syz-executor4'.
netlink: 1 bytes leftover after parsing attributes in process `syz-executor4'.
Buffer I/O error on dev loop0, logical block 0, async page read
print_req_error: I/O error, dev loop0, sector 0
QAT: Invalid ioctl
QAT: Invalid ioctl
Buffer I/O error on dev loop0, logical block 0, async page read
print_req_error: I/O error, dev loop0, sector 0
Buffer I/O error on dev loop0, logical block 0, async page read
Buffer I/O error on dev loop0, logical block 0, async page read
Buffer I/O error on dev loop0, logical block 0, async page read
netlink: 3 bytes leftover after parsing attributes in process `syz-executor5'.
netlink: 3 bytes leftover after parsing attributes in process `syz-executor5'.
netlink: 3 bytes leftover after parsing attributes in process `syz-executor5'.
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=8 sclass=netlink_route_socket pig=14069 comm=syz-executor6
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=8 sclass=netlink_route_socket pig=14093 comm=syz-executor6
tunl0: port 1(syz0) entered blocking state
tunl0: port 1(syz0) entered disabled state
tunl0: port 1(syz0) entered blocking state
tunl0: port 1(syz0) entered forwarding state
IPv6: ADDRCONF(NETDEV_CHANGE): tunl0: link becomes ready
SELinux: unrecognized netlink message: protocol=0 nlmsg_type=0 sclass=netlink_route_socket pig=14362 comm=syz-executor0
Can not set IPV6_FL_F_REFLECT if flowlabel_consistency sysctl is enable
Can not set IPV6_FL_F_REFLECT if flowlabel_consistency sysctl is enable
device syz2 left promiscuous mode
kauditd_printk_skb: 1 callbacks suppressed
audit: type=1326 audit(1507886496.061:570): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=14481 comm="+" exe="/root/syz-executor3" sig=0 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x7ffc0000
audit: type=1326 audit(1507886496.061:571): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=14481 comm="+" exe="/root/syz-executor3" sig=0 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x7ffc0000
audit: type=1326 audit(1507886496.061:572): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=14481 comm="syz-executor3" exe="/root/syz-executor3" sig=0 arch=c000003e syscall=35 compat=0 ip=0x47d711 code=0x7ffc0000
audit: type=1326 audit(1507886496.066:573): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=14481 comm="syz-executor3" exe="/root/syz-executor3" sig=0 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x7ffc0000
audit: type=1326 audit(1507886496.067:574): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=14481 comm="syz-executor3" exe="/root/syz-executor3" sig=0 arch=c000003e syscall=228 compat=0 ip=0x454e4a code=0x7ffc0000
audit: type=1326 audit(1507886496.067:575): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=14481 comm="+" exe="/root/syz-executor3" sig=0 arch=c000003e syscall=9 compat=0 ip=0x4520a9 code=0x7ffc0000
audit: type=1326 audit(1507886496.067:576): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=14481 comm="syz-executor3" exe="/root/syz-executor3" sig=0 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x7ffc0000
audit: type=1326 audit(1507886496.067:577): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=14481 comm="+" exe="/root/syz-executor3" sig=0 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x7ffc0000
audit: type=1326 audit(1507886496.067:578): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=14481 comm="+" exe="/root/syz-executor3" sig=0 arch=c000003e syscall=202 compat=0 ip=0x4520a9 code=0x7ffc0000
audit: type=1326 audit(1507886496.068:579): auid=4294967295 uid=0 gid=0 ses=4294967295 subj=kernel pid=14481 comm="syz-executor3" exe="/root/syz-executor3" sig=0 arch=c000003e syscall=35 compat=0 ip=0x47d711 code=0x7ffc0000
kvm pmu: pin control bit is ignored
QAT: Invalid ioctl
QAT: Invalid ioctl
*** Guest State ***
CR0: actual=0x0000000080000031, shadow=0x0000000060000010, gh_mask=fffffffffffffff7
SELinux: unrecognized netlink message: protocol=9 nlmsg_type=29 sclass=netlink_audit_socket pig=14981 comm=syz-executor0
SELinux: unrecognized netlink message: protocol=9 nlmsg_type=29 sclass=netlink_audit_socket pig=14965 comm=syz-executor0
nla_parse: 20 callbacks suppressed
netlink: 1 bytes leftover after parsing attributes in process `syz-executor1'.