[Android 6.1] kernel BUG in submit_bh_wbc

4 views
Skip to first unread message

syzbot

unread,
Jun 14, 2023, 8:20:59 PM6/14/23
to syzkaller-a...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 60662882b7bd FROMLIST: usb: xhci-plat: add xhci_plat_priv_..
git tree: android14-6.1
console+strace: https://syzkaller.appspot.com/x/log.txt?x=12e77753280000
kernel config: https://syzkaller.appspot.com/x/.config?x=f3a6e543620145da
dashboard link: https://syzkaller.appspot.com/bug?extid=807c663f72dcf074e3e2
compiler: Debian clang version 15.0.7, GNU ld (GNU Binutils for Debian) 2.35.2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=170e7217280000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11836ce3280000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/01603dd2cea8/disk-60662882.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/01508ffd0868/vmlinux-60662882.xz
kernel image: https://storage.googleapis.com/syzbot-assets/dc2a9df77f49/bzImage-60662882.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/9a87358a66c9/mount_0.gz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+807c66...@syzkaller.appspotmail.com

fscrypt: AES-256-XTS using implementation "xts-aes-aesni"
------------[ cut here ]------------
kernel BUG at fs/buffer.c:2717!
invalid opcode: 0000 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 290 Comm: syz-executor328 Not tainted 6.1.25-syzkaller-00068-g60662882b7bd #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/27/2023
RIP: 0010:submit_bh_wbc+0x4e2/0x4f0 fs/buffer.c:2717
Code: d4 4b e7 ff e9 b0 fe ff ff e8 9a 63 a1 ff 0f 0b e8 93 63 a1 ff 0f 0b e8 8c 63 a1 ff 0f 0b e8 85 63 a1 ff 0f 0b e8 7e 63 a1 ff <0f> 0b e8 77 63 a1 ff 0f 0b 0f 1f 44 00 00 55 48 89 e5 41 57 41 56
RSP: 0018:ffffc90000d16e10 EFLAGS: 00010293
RAX: ffffffff81d26032 RBX: 0000000000000800 RCX: ffff888109485100
RDX: 0000000000000000 RSI: 0000000000000800 RDI: 0000000000000000
RBP: ffffc90000d16e60 R08: ffffffff81d25cb0 R09: ffffed1023e27201
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000814
R13: 1ffff11023e27200 R14: ffff88811f139000 R15: 0000000000000000
FS: 00005555573a0300(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000004571f0 CR3: 000000012232b000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
<TASK>
submit_bh+0x1d/0x30 fs/buffer.c:2755
__ext4_read_bh fs/ext4/super.c:175 [inline]
ext4_read_bh+0x1b2/0x250 fs/ext4/super.c:199
ext4_read_bh_lock+0x99/0xb0 fs/ext4/super.c:214
__ext4_block_zero_page_range fs/ext4/inode.c:3786 [inline]
ext4_block_zero_page_range+0x5d2/0x9f0 fs/ext4/inode.c:3853
ext4_block_truncate_page fs/ext4/inode.c:3877 [inline]
ext4_truncate+0x89b/0xfb0 fs/ext4/inode.c:4254
ext4_truncate_failed_write fs/ext4/truncate.h:22 [inline]
ext4_write_begin+0xa76/0xfb0 fs/ext4/inode.c:1263
ext4_da_write_begin+0x2ff/0x920 fs/ext4/inode.c:2987
generic_perform_write+0x2f9/0x5c0 mm/filemap.c:3765
ext4_buffered_write_iter+0x360/0x640 fs/ext4/file.c:285
ext4_file_write_iter+0x194/0x1cf0
do_iter_write+0x6e6/0xc50 fs/read_write.c:861
vfs_iter_write+0x7c/0xa0 fs/read_write.c:902
iter_file_splice_write+0x7f8/0xf90 fs/splice.c:686
do_splice_from fs/splice.c:764 [inline]
direct_splice_actor+0xff/0x130 fs/splice.c:931
splice_direct_to_actor+0x4b4/0xbb0 fs/splice.c:886
do_splice_direct+0x27f/0x3c0 fs/splice.c:974
do_sendfile+0x616/0xfe0 fs/read_write.c:1255
__do_sys_sendfile64 fs/read_write.c:1323 [inline]
__se_sys_sendfile64 fs/read_write.c:1309 [inline]
__x64_sys_sendfile64+0x1ce/0x230 fs/read_write.c:1309
do_syscall_x64 arch/x86/entry/common.c:50 [inline]
do_syscall_64+0x3d/0xb0 arch/x86/entry/common.c:80
entry_SYSCALL_64_after_hwframe+0x63/0xcd
RIP: 0033:0x7f5e64c27ca9
Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 51 14 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007ffdd9c17028 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f5e64c27ca9
RDX: 0000000000000000 RSI: 0000000000000007 RDI: 0000000000000006
RBP: 00007f5e64be72b0 R08: 0000000000000000 R09: 0000000000000000
R10: 0001000000201005 R11: 0000000000000246 R12: 00007f5e64be7340
R13: 0000000000000000 R14: 0000000000000000 R15: 0000000000000000
</TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:submit_bh_wbc+0x4e2/0x4f0 fs/buffer.c:2717
Code: d4 4b e7 ff e9 b0 fe ff ff e8 9a 63 a1 ff 0f 0b e8 93 63 a1 ff 0f 0b e8 8c 63 a1 ff 0f 0b e8 85 63 a1 ff 0f 0b e8 7e 63 a1 ff <0f> 0b e8 77 63 a1 ff 0f 0b 0f 1f 44 00 00 55 48 89 e5 41 57 41 56
RSP: 0018:ffffc90000d16e10 EFLAGS: 00010293
RAX: ffffffff81d26032 RBX: 0000000000000800 RCX: ffff888109485100
RDX: 0000000000000000 RSI: 0000000000000800 RDI: 0000000000000000
RBP: ffffc90000d16e60 R08: ffffffff81d25cb0 R09: ffffed1023e27201
R10: 0000000000000000 R11: dffffc0000000001 R12: 0000000000000814
R13: 1ffff11023e27200 R14: ffff88811f139000 R15: 0000000000000000
FS: 00005555573a0300(0000) GS:ffff8881f7100000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00000000004571f0 CR3: 000000012232b000 CR4: 00000000003506a0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the bug is already fixed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want syzbot to run the reproducer, reply with:
#syz test: git://repo/address.git branch-or-commit-hash
If you attach or paste a git patch, syzbot will apply it before testing.

If you want to change bug's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the bug is a duplicate of another bug, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup

syzbot

unread,
Jun 15, 2023, 3:55:31 AM6/15/23
to syzkaller-a...@googlegroups.com
syzbot has bisected this issue to:

commit 8d5459c11f548131ce48b2fbf45cccc5c382558f
Author: Jan Kara <ja...@suse.cz>
Date: Fri May 20 11:14:02 2022 +0000

ext4: improve write performance with disabled delalloc

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=1375ffdd280000
start commit: 60662882b7bd FROMLIST: usb: xhci-plat: add xhci_plat_priv_..
git tree: android14-6.1
final oops: https://syzkaller.appspot.com/x/report.txt?x=10f5ffdd280000
console output: https://syzkaller.appspot.com/x/log.txt?x=1775ffdd280000
Reported-by: syzbot+807c66...@syzkaller.appspotmail.com
Fixes: 8d5459c11f54 ("ext4: improve write performance with disabled delalloc")

For information about bisection process see: https://goo.gl/tpsmEJ#bisection

syzbot

unread,
Mar 11, 2024, 8:28:03 PMMar 11
to syzkaller-a...@googlegroups.com
syzbot suspects this issue was fixed by commit:

commit 32b9fb9a67ec70bbe3afe931b0ea44203150a49a
Author: Ojaswin Mujoo <oja...@linux.ibm.com>
Date: Mon Sep 18 10:45:50 2023 +0000

ext4: mark buffer new if it is unwritten to avoid stale data exposure

bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=11e2c63e180000
start commit: 8a67c0609445 ANDROID: GKI: fix ABI breakage in struct hid_..
git tree: android14-6.1
kernel config: https://syzkaller.appspot.com/x/.config?x=3bacf1dde2aec241
dashboard link: https://syzkaller.appspot.com/bug?extid=807c663f72dcf074e3e2
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=17fee00d680000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=1183d8b9680000

If the result looks correct, please mark the issue as fixed by replying with:

#syz fix: ext4: mark buffer new if it is unwritten to avoid stale data exposure
Reply all
Reply to author
Forward
0 new messages