[syzbot] [ocfs2?] kernel BUG in ocfs2_write_end_nolock

syzbot <[email protected]>
Newsgroups dev.linux.lists.ocfs2-devel,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
Hello,

syzbot found the following issue on:

HEAD commit:    3aae9383f42f Merge tag 'input-for-v7.0-rc6' of git://git.k..
git tree:       upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=102a546a580000
kernel config:  https://syzkaller.appspot.com/x/.config?x=d46eab0cfd31c214
dashboard link: https://syzkaller.appspot.com/bug?extid=43869fdbaad383f31077
compiler:       Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image (non-bootable): https://storage.googleapis.com/syzbot-assets/d900f083ada3/non_bootable_disk-3aae9383.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/7c784098744b/vmlinux-3aae9383.xz
kernel image: https://storage.googleapis.com/syzbot-assets/4dd41ae9f4b7/bzImage-3aae9383.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: [email protected]

loop0: detected capacity change from 0 to 32768
=======================================================
WARNING: The mand mount option has been deprecated and
         and is ignored by this kernel. Remove the mand
         option from the mount to silence this warning.
=======================================================
JBD2: Ignoring recovery information on journal
ocfs2: Mounting device (7,0) on (node local, slot 0) with ordered data mode.
(syz.0.0,5324,0):ocfs2_check_set_options:1244 ERROR: Invalid heartbeat mount options
loop0: detected capacity change from 32768 to 32767
OCFS2: ERROR (device loop0): int ocfs2_validate_inode_block(struct super_block *, struct buffer_head *): Invalid dinode #17058: signature = 9�̓
On-disk corruption discovered. Please run fsck.ocfs2 once the filesystem is unmounted.
OCFS2: File system is now read-only.
(syz.0.0,5324,0):ocfs2_assign_bh:2417 ERROR: status = -30
(syz.0.0,5324,0):ocfs2_inode_lock_full_nested:2512 ERROR: status = -30
(syz.0.0,5324,0):ocfs2_reflink_inodes_lock:4748 ERROR: status = -30
------------[ cut here ]------------
kernel BUG at ./include/linux/highmem.h:577!
Oops: invalid opcode: 0000 [#1] SMP KASAN NOPTI
CPU: 0 UID: 0 PID: 5324 Comm: syz.0.0 Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2 04/01/2014
RIP: 0010:memcpy_from_folio include/linux/highmem.h:577 [inline]
RIP: 0010:ocfs2_write_end_inline fs/ocfs2/aops.c:1915 [inline]
RIP: 0010:ocfs2_write_end_nolock+0x1760/0x18f0 fs/ocfs2/aops.c:1949
Code: 90 0f 0b e8 52 c5 09 fe 90 0f 0b e8 4a c5 09 fe 48 8b 7c 24 10 48 c7 c6 e0 05 12 8c e8 09 1c 6c fd 90 0f 0b e8 31 c5 09 fe 90 <0f> 0b 65 44 8b 25 ea 70 61 0f bf 07 00 00 00 44 89 e6 e8 59 c9 09
RSP: 0018:ffffc9000f1b71e0 EFLAGS: 00010287
RAX: ffffffff83bbff3f RBX: 0000000000000000 RCX: 0000000000100000
RDX: ffffc90020001000 RSI: 0000000000002df5 RDI: 0000000000002df6
RBP: ffffc9000f1b7350 R08: ffffea000049d947 R09: 1ffffd4000093b28
R10: dffffc0000000000 R11: fffff94000093b29 R12: 0000000000001000
R13: 0000000000002000 R14: 0000000000001000 R15: 0000000000000000
FS:  00007f88812346c0(0000) GS:ffff88808ca49000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f7aaef4a000 CR3: 000000001245d000 CR4: 0000000000352ef0
Call Trace:
 <TASK>
 ocfs2_write_end+0x58/0x90 fs/ocfs2/aops.c:2059
 generic_perform_write+0x620/0x8f0 mm/filemap.c:4340
 ocfs2_file_write_iter+0x1663/0x1ed0 fs/ocfs2/file.c:2476
 iter_file_splice_write+0x9a1/0x10f0 fs/splice.c:736
 do_splice_from fs/splice.c:936 [inline]
 direct_splice_actor+0x101/0x160 fs/splice.c:1159
 splice_direct_to_actor+0x53a/0xc70 fs/splice.c:1103
 do_splice_direct_actor fs/splice.c:1202 [inline]
 do_splice_direct+0x195/0x290 fs/splice.c:1228
 vfs_copy_file_range+0xb02/0x1370 fs/read_write.c:1634
 __do_sys_copy_file_range fs/read_write.c:1683 [inline]
 __se_sys_copy_file_range+0x2fb/0x480 fs/read_write.c:1650
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x14d/0xf80 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f
RIP: 0033:0x7f888039c819
Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 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 e8 ff ff ff f7 d8 64 89 01 48
RSP: 002b:00007f8881233fe8 EFLAGS: 00000246 ORIG_RAX: 0000000000000146
RAX: ffffffffffffffda RBX: 00007f8880615fa0 RCX: 00007f888039c819
RDX: 0000000000000004 RSI: 00002000000001c0 RDI: 0000000000000005
RBP: 00007f8880432c91 R08: ffffffffa003e45b R09: 0700000000000000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007f8880616038 R14: 00007f8880615fa0 R15: 00007ffcbc2fcaf8
 </TASK>
Modules linked in:
---[ end trace 0000000000000000 ]---
RIP: 0010:memcpy_from_folio include/linux/highmem.h:577 [inline]
RIP: 0010:ocfs2_write_end_inline fs/ocfs2/aops.c:1915 [inline]
RIP: 0010:ocfs2_write_end_nolock+0x1760/0x18f0 fs/ocfs2/aops.c:1949
Code: 90 0f 0b e8 52 c5 09 fe 90 0f 0b e8 4a c5 09 fe 48 8b 7c 24 10 48 c7 c6 e0 05 12 8c e8 09 1c 6c fd 90 0f 0b e8 31 c5 09 fe 90 <0f> 0b 65 44 8b 25 ea 70 61 0f bf 07 00 00 00 44 89 e6 e8 59 c9 09
RSP: 0018:ffffc9000f1b71e0 EFLAGS: 00010287
RAX: ffffffff83bbff3f RBX: 0000000000000000 RCX: 0000000000100000
RDX: ffffc90020001000 RSI: 0000000000002df5 RDI: 0000000000002df6
RBP: ffffc9000f1b7350 R08: ffffea000049d947 R09: 1ffffd4000093b28
R10: dffffc0000000000 R11: fffff94000093b29 R12: 0000000000001000
R13: 0000000000002000 R14: 0000000000001000 R15: 0000000000000000
FS:  00007f88812346c0(0000) GS:ffff88808ca49000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000055bc117cd168 CR3: 000000001245d000 CR4: 0000000000352ef0


---
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 [email protected].

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

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

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

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

If you want to undo deduplication, reply with:
#syz undup
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.