syzbot
general protection fault in __blockdev_direct_IO
Status:
public: reported C repro on 2019/08/17 07:42
Reported-by: syzbot+a0a441a01e31e0a65707@syzkaller.appspotmail.com
First crash: 2566d, last: 2519d
Sample crash report:
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory accessgeneral protection fault: 0000 [#1] PREEMPT SMP KASAN
Modules linked in:
CPU: 1 PID: 2081 Comm: syz-executor009 Not tainted 4.4.174+ #4
task: ffff8800b69517c0 task.stack: ffff8801d3f70000
RIP: 0010:[<ffffffff8155748a>] [<ffffffff8155748a>] __read_once_size include/linux/compiler.h:218 [inline]
RIP: 0010:[<ffffffff8155748a>] [<ffffffff8155748a>] PageTail include/linux/page-flags.h:400 [inline]
RIP: 0010:[<ffffffff8155748a>] [<ffffffff8155748a>] get_page include/linux/mm.h:508 [inline]
RIP: 0010:[<ffffffff8155748a>] [<ffffffff8155748a>] submit_page_section fs/direct-io.c:813 [inline]
RIP: 0010:[<ffffffff8155748a>] [<ffffffff8155748a>] do_direct_IO fs/direct-io.c:1033 [inline]
RIP: 0010:[<ffffffff8155748a>] [<ffffffff8155748a>] do_blockdev_direct_IO fs/direct-io.c:1256 [inline]
RIP: 0010:[<ffffffff8155748a>] [<ffffffff8155748a>] __blockdev_direct_IO+0x36ea/0xb030 fs/direct-io.c:1342
RSP: 0018:ffff8801d3f77270 EFLAGS: 00010202
RAX: 0000000000000004 RBX: dffffc0000000000 RCX: 000000000000000c
RDX: 0000000000000000 RSI: ffffffff81557477 RDI: 0000000000000020
RBP: ffff8801d3f77588 R08: 1ffff10017092240 R09: ffff8800b8491200
R10: ffffed001709224e R11: ffff8800b8491277 R12: ffffea00074fc400
R13: ffff8800b8491200 R14: ffff8801da016d40 R15: ffff8801cee40000
FS: 0000000001d43880(0063) GS:ffff8801db700000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000200110ff CR3: 00000001d44b6000 CR4: 00000000001606b0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Stack:
fffffbfff05c2202 ffff8801d3f77380 0005080000000000 0000000000001000
0000000000008420 ffff8801cee40079 0000000041b58ab3 0000000000011000
ffff8801d3f773d0 00001000d3f772e0 fffffffffffff000 0000000000000fff
Call Trace:
[<ffffffff8173cf01>] blockdev_direct_IO include/linux/fs.h:2789 [inline]
[<ffffffff8173cf01>] ext4_ind_direct_IO+0x3e1/0xb90 fs/ext4/indirect.c:709
[<ffffffff8163fe21>] ext4_ext_direct_IO fs/ext4/inode.c:3233 [inline]
[<ffffffff8163fe21>] ext4_direct_IO+0x8c1/0x2a80 fs/ext4/inode.c:3405
[<ffffffff813bcae6>] generic_file_direct_write+0x276/0x4f0 mm/filemap.c:2493
[<ffffffff813bcfa5>] __generic_file_write_iter+0x245/0x540 mm/filemap.c:2673
[<ffffffff81633d3c>] ext4_file_write_iter+0x9ec/0xc70 fs/ext4/file.c:171
[<ffffffff81496220>] vfs_iter_write+0x1d0/0x3f0 fs/read_write.c:364
[<ffffffff81534731>] iter_file_splice_write+0x5c1/0xb30 fs/splice.c:1024
[<ffffffff81537d31>] do_splice_from fs/splice.c:1128 [inline]
[<ffffffff81537d31>] do_splice fs/splice.c:1404 [inline]
[<ffffffff81537d31>] SYSC_splice fs/splice.c:1707 [inline]
[<ffffffff81537d31>] SyS_splice+0xd71/0x13a0 fs/splice.c:1690
[<ffffffff82718ba1>] entry_SYSCALL_64_fastpath+0x1e/0x9a
Code: 00 00 e8 aa a9 e8 ff 48 c7 84 24 50 02 00 00 00 00 00 00 e8 79 21 db ff 48 8b 84 24 c8 00 00 00 48 8d 78 20 48 89 f8 48 c1 e8 03 <80> 3c 18 00 0f 85 10 5b 00 00 48 8b 84 24 c8 00 00 00 48 8b 40
RIP [<ffffffff8155748a>] __read_once_size include/linux/compiler.h:218 [inline]
RIP [<ffffffff8155748a>] PageTail include/linux/page-flags.h:400 [inline]
RIP [<ffffffff8155748a>] get_page include/linux/mm.h:508 [inline]
RIP [<ffffffff8155748a>] submit_page_section fs/direct-io.c:813 [inline]
RIP [<ffffffff8155748a>] do_direct_IO fs/direct-io.c:1033 [inline]
RIP [<ffffffff8155748a>] do_blockdev_direct_IO fs/direct-io.c:1256 [inline]
RIP [<ffffffff8155748a>] __blockdev_direct_IO+0x36ea/0xb030 fs/direct-io.c:1342
RSP <ffff8801d3f77270>
---[ end trace 19159a0b7604f9c0 ]---
* Struck through repros no longer work on HEAD.