general protection fault in copy_user_generic_unrolled

4 views
Skip to first unread message

syzbot

unread,
Dec 16, 2022, 5:00:47 AM12/16/22
to syzkaller...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: c4215ee4771b Linux 4.14.302
git tree: linux-4.14.y
console output: https://syzkaller.appspot.com/x/log.txt?x=14d544d7880000
kernel config: https://syzkaller.appspot.com/x/.config?x=4a9988fe055c9527
dashboard link: https://syzkaller.appspot.com/bug?extid=bc6898f2571ec499c09b
compiler: gcc version 10.2.1 20210110 (Debian 10.2.1-6)

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

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/c93ba055d204/disk-c4215ee4.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/bfbc929a33c1/vmlinux-c4215ee4.xz
kernel image: https://storage.googleapis.com/syzbot-assets/444658051770/bzImage-c4215ee4.xz

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

kasan: CONFIG_KASAN_INLINE enabled
ptlock_init include/linux/mm.h:1764 [inline]
pgtable_page_ctor include/linux/mm.h:1798 [inline]
pte_alloc_one+0x57/0x100 arch/x86/mm/pgtable.c:33
__do_huge_pmd_anonymous_page mm/huge_memory.c:568 [inline]
do_huge_pmd_anonymous_page+0x8fc/0x1700 mm/huge_memory.c:731
kasan: GPF could be caused by NULL-ptr deref or user memory access
create_huge_pmd mm/memory.c:4002 [inline]
__handle_mm_fault+0x2ac4/0x4620 mm/memory.c:4205
general protection fault: 0000 [#1] PREEMPT SMP KASAN
handle_mm_fault+0x455/0x9c0 mm/memory.c:4271
Modules linked in:
__do_page_fault+0x549/0xad0 arch/x86/mm/fault.c:1442
CPU: 0 PID: 20362 Comm: syz-executor.1 Not tainted 4.14.302-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 10/26/2022
page_fault+0x25/0x50 arch/x86/entry/entry_64.S:1126
task: ffff8880a8f620c0 task.stack: ffff888080168000
RIP: 0010:copy_user_generic_unrolled+0x89/0xc0 arch/x86/lib/copy_user_64.S:67
RIP: 0010:vhost_umem_interval_tree_iter_first drivers/vhost/vhost.c:53 [inline]
RIP: 0010:vhost_del_umem_range drivers/vhost/vhost.c:977 [inline]
RIP: 0010:vhost_process_iotlb_msg drivers/vhost/vhost.c:1048 [inline]
RIP: 0010:vhost_chr_write_iter drivers/vhost/vhost.c:1077 [inline]
RIP: 0010:vhost_chr_write_iter+0x873/0x1100 drivers/vhost/vhost.c:1061
RSP: 0018:ffff88807bbafc20 EFLAGS: 00050207
RSP: 0018:ffff88808016fc00 EFLAGS: 00010246
RAX: ffffed100f775fa0 RBX: 0000000000000034 RCX: 0000000000000006
RAX: dffffc0000000000 RBX: ffff888088f6c3c0 RCX: 0000000000000000
RDX: 0000000000000004 RSI: ffff88807bbafcc8 RDI: 0000000020000140
RDX: 0000000000000002 RSI: ffffffff857eee05 RDI: ffff888088f6c480
RBP: ffff88807bbafcc8 R08: 000000000000000a R09: ffffed100f775f9f
RBP: ffffed10111ed889 R08: 0000000000000000 R09: 0000000000000000
R10: ffff88807bbafcfb R11: ffff88808dc82440 R12: 0000000020000140
R10: 0000000000000002 R11: ffff8880a8f620c0 R12: 0000000000000002
R13: 00007ffffffff000 R14: 0000000020000174 R15: ffff8880af8e8540
R13: 0000000000000000 R14: dffffc0000000000 R15: 1ffff1101002df87
copy_user_generic arch/x86/include/asm/uaccess_64.h:37 [inline]
raw_copy_to_user arch/x86/include/asm/uaccess_64.h:112 [inline]
_copy_to_user+0xaa/0xd0 lib/usercopy.c:28
FS: 00007fae16731700(0000) GS:ffff8880ba400000(0000) knlGS:0000000000000000
copy_to_user include/linux/uaccess.h:155 [inline]
ax25_ioctl+0x6a7/0x990 net/ax25/af_ax25.c:1853
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007fb7e274d000 CR3: 00000000a2697000 CR4: 00000000003406f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
sock_do_ioctl net/socket.c:974 [inline]
sock_ioctl+0x2cc/0x4c0 net/socket.c:1071
call_write_iter include/linux/fs.h:1780 [inline]
new_sync_write fs/read_write.c:469 [inline]
__vfs_write+0x44c/0x630 fs/read_write.c:482
vfs_ioctl fs/ioctl.c:46 [inline]
file_ioctl fs/ioctl.c:500 [inline]
do_vfs_ioctl+0x75a/0xff0 fs/ioctl.c:684
vfs_write+0x17f/0x4d0 fs/read_write.c:544
SYSC_write fs/read_write.c:590 [inline]
SyS_write+0xf2/0x210 fs/read_write.c:582
SYSC_ioctl fs/ioctl.c:701 [inline]
SyS_ioctl+0x7f/0xb0 fs/ioctl.c:692
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
do_syscall_64+0x1d5/0x640 arch/x86/entry/common.c:292
entry_SYSCALL_64_after_hwframe+0x5e/0xd3
entry_SYSCALL_64_after_hwframe+0x5e/0xd3
RIP: 0033:0x7f270445b0d9
RIP: 0033:0x7fae181bf0d9
RSP: 002b:00007f27029cd168 EFLAGS: 00000246
RSP: 002b:00007fae16731168 EFLAGS: 00000246
ORIG_RAX: 0000000000000010
RAX: ffffffffffffffda RBX: 00007f270457af80 RCX: 00007f270445b0d9
ORIG_RAX: 0000000000000001
RDX: 0000000020000140 RSI: 00000000000089e9 RDI: 0000000000000004
RAX: ffffffffffffffda RBX: 00007fae182def80 RCX: 00007fae181bf0d9
RBP: 00007f27029cd1d0 R08: 0000000000000000 R09: 0000000000000000
RDX: 0000000000000048 RSI: 00000000200001c0 RDI: 0000000000000004
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000001
RBP: 00007fae1821aae9 R08: 0000000000000000 R09: 0000000000000000
R13: 00007ffd251f4abf R14: 00007f27029cd300 R15: 0000000000022000
R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000
R13: 00007ffe1f08023f R14: 00007fae16731300 R15: 0000000000022000
Code: ff df 48 89 f9 48 c1 e9 03 80 3c 01 00 0f 85 c6 06 00 00 4c 8b ab c0 00 00 00 48 b8 00 00 00 00 00 fc ff df 4c 89 e9 48 c1 e9 03 <80> 3c 01 00 0f 85 8f 06 00 00 49 8b 6d 00 48 85 ed 0f 84 e4 03
RIP: vhost_umem_interval_tree_iter_first drivers/vhost/vhost.c:53 [inline] RSP: ffff88808016fc00
RIP: vhost_del_umem_range drivers/vhost/vhost.c:977 [inline] RSP: ffff88808016fc00
RIP: vhost_process_iotlb_msg drivers/vhost/vhost.c:1048 [inline] RSP: ffff88808016fc00
RIP: vhost_chr_write_iter drivers/vhost/vhost.c:1077 [inline] RSP: ffff88808016fc00
RIP: vhost_chr_write_iter+0x873/0x1100 drivers/vhost/vhost.c:1061 RSP: ffff88808016fc00
---[ end trace b3757d6a9e50106d ]---
----------------
Code disassembly (best guess), 1 bytes skipped:
0: df 48 89 fisttps -0x77(%rax)
3: f9 stc
4: 48 c1 e9 03 shr $0x3,%rcx
8: 80 3c 01 00 cmpb $0x0,(%rcx,%rax,1)
c: 0f 85 c6 06 00 00 jne 0x6d8
12: 4c 8b ab c0 00 00 00 mov 0xc0(%rbx),%r13
19: 48 b8 00 00 00 00 00 movabs $0xdffffc0000000000,%rax
20: fc ff df
23: 4c 89 e9 mov %r13,%rcx
26: 48 c1 e9 03 shr $0x3,%rcx
* 2a: 80 3c 01 00 cmpb $0x0,(%rcx,%rax,1) <-- trapping instruction
2e: 0f 85 8f 06 00 00 jne 0x6c3
34: 49 8b 6d 00 mov 0x0(%r13),%rbp
38: 48 85 ed test %rbp,%rbp
3b: 0f .byte 0xf
3c: 84 e4 test %ah,%ah
3e: 03 .byte 0x3


---
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

unread,
Apr 15, 2023, 6:00:33 AM4/15/23
to syzkaller...@googlegroups.com
Auto-closing this bug as obsolete.
Crashes did not happen for a while, no reproducer and no activity.
Reply all
Reply to author
Forward
0 new messages