BUG: unable to handle kernel NULL pointer dereference in __prepare_exit_to_usermode

8 views
Skip to first unread message

syzbot

unread,
Jul 6, 2020, 10:23:19 PM7/6/20
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following crash on:

HEAD commit: cd77006e Merge tag 'hyperv-fixes-signed' of git://git.kern..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=11989d0f100000
kernel config: https://syzkaller.appspot.com/x/.config?x=7be693511b29b338
dashboard link: https://syzkaller.appspot.com/bug?extid=f3f2ecccf319cb82a652
compiler: gcc (GCC) 10.1.0-syz 20200507
CC: [b...@alien8.de h...@zytor.com linux-...@vger.kernel.org lu...@kernel.org mi...@redhat.com tg...@linutronix.de x...@kernel.org]

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

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

BUG: kernel NULL pointer dereference, address: 0000000000000000
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 0 P4D 0
Oops: 0002 [#1] PREEMPT SMP KASAN
CPU: 0 PID: 3880 Comm: systemd-udevd Not tainted 5.8.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:tracehook_notify_resume include/linux/tracehook.h:188 [inline]
RIP: 0010:exit_to_usermode_loop arch/x86/entry/common.c:216 [inline]
RIP: 0010:__prepare_exit_to_usermode+0x1e9/0x1f0 arch/x86/entry/common.c:246
Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <00> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
RSP: 0018:ffffc90001077f18 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff8880a4d7e5c0 RCX: ffffffff814d2689
RDX: ffff8880a4d7e5c0 RSI: ffffffff81008049 RDI: 0000000000000005
RBP: 0000000000000102 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffffc90001077f58
R13: ffff8880a4d7e5c0 R14: 0000000000000000 R15: 0000000000000000
FS: 00007f3ef07c28c0(0000) GS:ffff8880ae600000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 00000000a3256000 CR4: 00000000001426f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
do_syscall_64+0x6c/0xe0 arch/x86/entry/common.c:368
entry_SYSCALL_64_after_hwframe+0x44/0xa9
BUG: kernel NULL pointer dereference, address: 0000000000000000
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 0 P4D 0
Oops: 0002 [#2] PREEMPT SMP KASAN
CPU: 0 PID: 3880 Comm: systemd-udevd Not tainted 5.8.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:in_gate_area_no_mm+0x0/0x6a arch/x86/entry/vsyscall/vsyscall_64.c:343
Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <00> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
RSP: 0018:ffffc90001077430 EFLAGS: 00010093
RAX: 0000000000000000 RBX: ffffc900010774d0 RCX: ffffffff816a5e30
RDX: ffff8880a4d7e5c0 RSI: ffffffff816a5e5b RDI: 00007f3eef5cba4b
RBP: 00007f3eef5cba4b R08: ffffc900010775e0 R09: ffffffff8c8cc109
R10: 00007f3eef5cba4b R11: 0000000000000000 R12: ffffc900010775e0
R13: 0000000000000001 R14: 00007f3eef5cba4b R15: ffffc900010774f0
FS: 00007f3ef07c28c0(0000) GS:ffff8880ae600000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 00000000a3256000 CR4: 00000000001426f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
is_kernel include/linux/kallsyms.h:43 [inline]
is_ksym_addr include/linux/kallsyms.h:49 [inline]
kallsyms_lookup+0xc3/0x2e0 kernel/kallsyms.c:290
__sprint_symbol+0x9c/0x1c0 kernel/kallsyms.c:363
symbol_string+0x14c/0x370 lib/vsprintf.c:969
pointer+0x185/0x970 lib/vsprintf.c:2226
vsnprintf+0x5b2/0x14f0 lib/vsprintf.c:2624
vscnprintf+0x29/0x80 lib/vsprintf.c:2723
vprintk_store+0x44/0x4a0 kernel/printk/printk.c:1942
vprintk_emit+0x139/0x770 kernel/printk/printk.c:2003
vprintk_func+0x8f/0x1a6 kernel/printk/printk_safe.c:393
printk+0xba/0xed kernel/printk/printk.c:2070
show_ip+0x22/0x30 arch/x86/kernel/dumpstack.c:124
show_iret_regs+0x10/0x32 arch/x86/kernel/dumpstack.c:131
__show_regs+0x18/0x50 arch/x86/kernel/process_64.c:72
show_trace_log_lvl+0x255/0x2b4 arch/x86/kernel/dumpstack.c:274
show_regs arch/x86/kernel/dumpstack.c:447 [inline]
__die_body arch/x86/kernel/dumpstack.c:393 [inline]
__die+0x51/0x90 arch/x86/kernel/dumpstack.c:407
no_context+0x56b/0x9f0 arch/x86/mm/fault.c:695
__bad_area_nosemaphore+0xa9/0x480 arch/x86/mm/fault.c:789
do_user_addr_fault+0x8ce/0xd00 arch/x86/mm/fault.c:1258
handle_page_fault arch/x86/mm/fault.c:1365 [inline]
exc_page_fault+0xab/0x170 arch/x86/mm/fault.c:1418
asm_exc_page_fault+0x1e/0x30 arch/x86/include/asm/idtentry.h:565
RIP: 0010:tracehook_notify_resume include/linux/tracehook.h:188 [inline]
RIP: 0010:exit_to_usermode_loop arch/x86/entry/common.c:216 [inline]
RIP: 0010:__prepare_exit_to_usermode+0x1e9/0x1f0 arch/x86/entry/common.c:246
Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <00> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
RSP: 0018:ffffc90001077f18 EFLAGS: 00010293
RAX: 0000000000000000 RBX: ffff8880a4d7e5c0 RCX: ffffffff814d2689
RDX: ffff8880a4d7e5c0 RSI: ffffffff81008049 RDI: 0000000000000005
RBP: 0000000000000102 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000000 R12: ffffc90001077f58
R13: ffff8880a4d7e5c0 R14: 0000000000000000 R15: 0000000000000000
do_syscall_64+0x6c/0xe0 arch/x86/entry/common.c:368
entry_SYSCALL_64_after_hwframe+0x44/0xa9
BUG: kernel NULL pointer dereference, address: 0000000000000000
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page
PGD 0 P4D 0
Oops: 0002 [#3] PREEMPT SMP KASAN
CPU: 0 PID: 3880 Comm: systemd-udevd Not tainted 5.8.0-rc3-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:in_gate_area_no_mm+0x0/0x6a arch/x86/entry/vsyscall/vsyscall_64.c:343
Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <00> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
RSP: 0018:ffffc90001076920 EFLAGS: 00010093
RAX: 0000000000000000 RBX: ffffc900010769c0 RCX: ffffffff816a5e30
RDX: ffff8880a4d7e5c0 RSI: ffffffff816a5e5b RDI: 00007f3eef5cba4b
RBP: 00007f3eef5cba4b R08: ffffc90001076ad0 R09: ffff8880ae623df8
R10: 00007f3eef5cba4b R11: 0000000000000001 R12: ffffc90001076ad0
R13: 0000000000000001 R14: 00007f3eef5cba4b R15: ffffc900010769e0
FS: 00007f3ef07c28c0(0000) GS:ffff8880ae600000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 00000000a3256000 CR4: 00000000001426f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
Call Trace:
is_kernel include/linux/kallsyms.h:43 [inline]
is_ksym_addr include/linux/kallsyms.h:49 [inline]
kallsyms_lookup+0xc3/0x2e0 kernel/kallsyms.c:290
__sprint_symbol+0x9c/0x1c0 kernel/kallsyms.c:363
symbol_string+0x14c/0x370 lib/vsprintf.c:969
pointer+0x185/0x970 lib/vsprintf.c:2226
vsnprintf+0x5b2/0x14f0 lib/vsprintf.c:2624
vscnprintf+0x29/0x80 lib/vsprintf.c:2723
printk_safe_log_store+0xf5/0x250 kernel/printk/printk_safe.c:94
vprintk_safe kernel/printk/printk_safe.c:347 [inline]
vprintk_func+0xef/0x1a6 kernel/printk/printk_safe.c:390
printk+0xba/0xed kernel/printk/printk.c:2070
show_ip+0x22/0x30 arch/x86/kernel/dumpstack.c:124
show_iret_regs+0x10/0x32 arch/x86/kernel/dumpstack.c:131
__show_regs+0x18/0x50 arch/x86/kernel/process_64.c:72
show_trace_log_lvl+0x255/0x2b4 arch/x86/kernel/dumpstack.c:274
show_regs arch/x86/kernel/dumpstack.c:447 [inline]
__die_body arch/x86/kernel/dumpstack.c:393 [inline]
__die+0x51/0x90 arch/x86/kernel/dumpstack.c:407
no_context+0x56b/0x9f0 arch/x86/mm/fault.c:695
__bad_area_nosemaphore+0xa9/0x480 arch/x86/mm/fault.c:789
do_user_addr_fault+0x783/0xd00 arch/x86/mm/fault.c:1171
handle_page_fault arch/x86/mm/fault.c:1365 [inline]
exc_page_fault+0xab/0x170 arch/x86/mm/fault.c:1418
asm_exc_page_fault+0x1e/0x30 arch/x86/include/asm/idtentry.h:565
RIP: 0010:in_gate_area_no_mm+0x0/0x6a arch/x86/entry/vsyscall/vsyscall_64.c:343
Code: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <00> 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
RSP: 0018:ffffc90001077430 EFLAGS: 00010093
RAX: 0000000000000000 RBX: ffffc900010774d0 RCX: ffffffff816a5e30
RDX: ffff8880a4d7e5c0 RSI: ffffffff816a5e5b RDI: 00007f3eef5cba4b
RBP: 00007f3eef5cba4b R08: ffffc900010775e0 R09: ffffffff8c8cc109
R10: 00007f3eef5cba4b R11: 0000000000000000 R12: ffffc900010775e0
R13: 0000000000000001 R14: 00007f3eef5cba4b R15: ffffc900010774f0
is_kernel include/linux/kallsyms.h:43 [inline]
is_ksym_addr include/linux/kallsyms.h:49 [inline]
kallsyms_lookup+0xc3/0x2e0 kernel/kallsyms.c:290
__sprint_symbol+0x9c/0x1c0 kernel/kallsyms.c:363
symbol_string+0x14c/0x370 lib/vsprintf.c:969
pointer+0x185/0x970 lib/vsprintf.c:2226
vsnprintf+0x5b2/0x14f0 lib/vsprintf.c:2624
vscnprintf+0x29/0x80 lib/vsprintf.c:2723
vprintk_store+0x44/0x4a0 kernel/printk/printk.c:1942
vprintk_emit+0x139/0x770 kernel/printk/printk.c:2003
vprintk_func+0x8f/0x1a6 kernel/printk/printk_safe.c:393
printk+0xba/0xed kernel/printk/printk.c:2070
show_ip+0x22/0x30 arch/x86/kernel/dumpstack.c:124
show_iret_regs+0x10/0x32 arch/x86/kernel/dumpstack.c:131
__show_regs+0x18/0x50 arch/x86/kernel/process_64.c:72
show_trace_log_lvl+0x255/0x2b4 arch/x86/kernel/dumpstack.c:274
show_regs arch/x86/kernel/dumpstack.c:447 [inline]
__die_body arch/x86/kernel/dumpstack.c:393 [inline]
__die+0x51/0x90 arch/x86/kernel/dumpstack.c:407
no_context+0x56b/0x9f0 arch/x86/mm/fault.c:695
__bad_area_nosemaphore+0xa9/0x480 arch/x86/mm/fault.c:789
do_user_addr_fault+0x8ce/
Lost 47 message(s)!


---
This bug 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 bug report. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

syzbot

unread,
Oct 4, 2020, 6:27:13 PM10/4/20
to syzkaller-upst...@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