general protection fault in nilfs_segctor_do_construct

5 views
Skip to first unread message

syzbot

unread,
Oct 30, 2022, 3:35:37 PM10/30/22
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 41f36d7859a7 Linux 4.14.296
git tree: linux-4.14.y
console output: https://syzkaller.appspot.com/x/log.txt?x=13ec42ea880000
kernel config: https://syzkaller.appspot.com/x/.config?x=20cc5ea0fe276fa6
dashboard link: https://syzkaller.appspot.com/bug?extid=dddd9391b465918f0abf
compiler: gcc version 10.2.1 20210110 (Debian 10.2.1-6)
syz repro: https://syzkaller.appspot.com/x/repro.syz?x=160428de880000
C reproducer: https://syzkaller.appspot.com/x/repro.c?x=135b0aa6880000

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/941b591cedec/disk-41f36d78.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/2eea2720f8fc/vmlinux-41f36d78.xz
kernel image: https://storage.googleapis.com/syzbot-assets/7c3ce0be6b9a/bzImage-41f36d78.xz
mounted in repro: https://storage.googleapis.com/syzbot-assets/d4493c4a33c4/mount_0.gz

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

IPVS: ftp: loaded support on port[0] = 21
NILFS (loop0): broken superblock, retrying with spare superblock (blocksize = 1024)
NILFS (loop0): segctord starting. Construction interval = 5 seconds, CP frequency < 30 seconds
kasan: CONFIG_KASAN_INLINE enabled
kasan: GPF could be caused by NULL-ptr deref or user memory access
general protection fault: 0000 [#1] PREEMPT SMP KASAN
Modules linked in:
CPU: 1 PID: 8000 Comm: segctord Not tainted 4.14.296-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/11/2022
task: ffff888095a94600 task.stack: ffff8880959a0000
RIP: 0010:__read_once_size include/linux/compiler.h:185 [inline]
RIP: 0010:compound_head include/linux/page-flags.h:147 [inline]
RIP: 0010:trylock_page include/linux/pagemap.h:469 [inline]
RIP: 0010:lock_page include/linux/pagemap.h:479 [inline]
RIP: 0010:nilfs_segctor_prepare_write fs/nilfs2/segment.c:1677 [inline]
RIP: 0010:nilfs_segctor_do_construct+0x1d5a/0x79c0 fs/nilfs2/segment.c:2087
RSP: 0018:ffff8880959a7b98 EFLAGS: 00010206
RAX: 0000000000000030 RBX: ffff88808d7c0dc8 RCX: 0000000000000001
RDX: 0000000000000000 RSI: 00000000ffffffff RDI: 0000000000000180
RBP: 0000000000000160 R08: 0000000000037ba8 R09: 0000000000000001
R10: 0000000000000000 R11: 0000000000000000 R12: ffff88808d7c0dd8
R13: ffff88808d7e0cf0 R14: dffffc0000000000 R15: ffffea0002a99fc0
FS: 0000000000000000(0000) GS:ffff8880ba500000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb5f3d56000 CR3: 00000000a1c86000 CR4: 00000000003406e0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
nilfs_segctor_construct+0x6db/0x8e0 fs/nilfs2/segment.c:2394
nilfs_segctor_thread_construct fs/nilfs2/segment.c:2502 [inline]
nilfs_segctor_thread+0x3ad/0xdb0 fs/nilfs2/segment.c:2586
kthread+0x30d/0x420 kernel/kthread.c:232
ret_from_fork+0x24/0x30 arch/x86/entry/entry_64.S:404
Code: 89 3c 24 e9 b0 00 00 00 e8 a4 c2 e5 fe 31 d2 be de 01 00 00 48 c7 c7 c0 f2 b9 87 e8 e1 a5 c9 fe 48 8d 7d 20 48 89 f8 48 c1 e8 03 <42> 80 3c 30 00 0f 85 38 44 00 00 48 8b 55 20 49 89 ef f6 c2 01
RIP: __read_once_size include/linux/compiler.h:185 [inline] RSP: ffff8880959a7b98
RIP: compound_head include/linux/page-flags.h:147 [inline] RSP: ffff8880959a7b98
RIP: trylock_page include/linux/pagemap.h:469 [inline] RSP: ffff8880959a7b98
RIP: lock_page include/linux/pagemap.h:479 [inline] RSP: ffff8880959a7b98
RIP: nilfs_segctor_prepare_write fs/nilfs2/segment.c:1677 [inline] RSP: ffff8880959a7b98
RIP: nilfs_segctor_do_construct+0x1d5a/0x79c0 fs/nilfs2/segment.c:2087 RSP: ffff8880959a7b98
---[ end trace d9fe6e2e511b5a4e ]---
----------------
Code disassembly (best guess):
0: 89 3c 24 mov %edi,(%rsp)
3: e9 b0 00 00 00 jmpq 0xb8
8: e8 a4 c2 e5 fe callq 0xfee5c2b1
d: 31 d2 xor %edx,%edx
f: be de 01 00 00 mov $0x1de,%esi
14: 48 c7 c7 c0 f2 b9 87 mov $0xffffffff87b9f2c0,%rdi
1b: e8 e1 a5 c9 fe callq 0xfec9a601
20: 48 8d 7d 20 lea 0x20(%rbp),%rdi
24: 48 89 f8 mov %rdi,%rax
27: 48 c1 e8 03 shr $0x3,%rax
* 2b: 42 80 3c 30 00 cmpb $0x0,(%rax,%r14,1) <-- trapping instruction
30: 0f 85 38 44 00 00 jne 0x446e
36: 48 8b 55 20 mov 0x20(%rbp),%rdx
3a: 49 89 ef mov %rbp,%r15
3d: f6 c2 01 test $0x1,%dl


---
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.
syzbot can test patches for this issue, for details see:
https://goo.gl/tpsmEJ#testing-patches
Reply all
Reply to author
Forward
0 new messages