syzbot


BUG: unable to handle kernel NULL pointer dereference in handle_external_interrupt_irqoff

Status: fixed on 2020/05/10 10:42
Subsystems: kvm
[Documentation on labels]
Reported-by: syzbot+3f29ca2efb056a761e38@syzkaller.appspotmail.com
Fix commit: 428b8f1d9f92 KVM: VMX: don't allow memory operands for inline asm that modifies SP
First crash: 1577d, last: 1572d
Cause bisection: introduced by (bisect log) :
commit f71dbf2fb28489a79bde0dca1c8adfb9cdb20a6b
Author: David Howells <dhowells@redhat.com>
Date: Thu Jan 30 21:50:36 2020 +0000

  rxrpc: Fix insufficient receive notification generation

Crash: WARNING: ODEBUG bug in kvm_dev_ioctl (log)
Repro: C syz .config
  
Discussions (2)
Title Replies (including bot) Last reply
BUG: unable to handle kernel NULL pointer dereference in handle_external_interrupt_irqoff 16 (19) 2020/03/23 19:39
[PATCH] KVM: VMX: don't allow memory operands for inline asm that modifies SP 1 (1) 2020/03/23 19:12

Sample crash report:
BUG: kernel NULL pointer dereference, address: 0000000000000086
#PF: supervisor instruction fetch in kernel mode
#PF: error_code(0x0010) - not-present page
PGD 9330b067 P4D 9330b067 PUD 9e66f067 PMD 0 
Oops: 0010 [#1] PREEMPT SMP KASAN
CPU: 1 PID: 8439 Comm: syz-executor724 Not tainted 5.6.0-rc6-syzkaller #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
RIP: 0010:0x86
Code: Bad RIP value.
RSP: 0018:ffffc900022e7998 EFLAGS: 00010086
RAX: ffffc900022e79c8 RBX: fffffe0000000000 RCX: ffff88809dcf2500
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: 0000000000000ec0 R08: ffffffff83987523 R09: ffffffff811c7eca
R10: ffff88809dcf2500 R11: 0000000000000002 R12: dffffc0000000000
R13: fffffe0000000ec8 R14: ffffffff880016f0 R15: fffffe0000000ecb
FS:  0000000001d0d880(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000000005c CR3: 00000000978c3000 CR4: 00000000001426e0
Call Trace:
 handle_external_interrupt_irqoff+0x154/0x280 arch/x86/kvm/vmx/vmx.c:6274
 kvm_before_interrupt arch/x86/kvm/x86.h:343 [inline]
 handle_external_interrupt_irqoff+0x132/0x280 arch/x86/kvm/vmx/vmx.c:6272
 __irqentry_text_start+0x8/0x8
 vcpu_enter_guest+0x6c77/0x9290 arch/x86/kvm/x86.c:8405
 save_stack mm/kasan/common.c:72 [inline]
 set_track mm/kasan/common.c:80 [inline]
 kasan_set_free_info mm/kasan/common.c:337 [inline]
 __kasan_slab_free+0x12e/0x1e0 mm/kasan/common.c:476
 __cache_free mm/slab.c:3426 [inline]
 kfree+0x10a/0x220 mm/slab.c:3757
 tomoyo_path_number_perm+0x525/0x690 security/tomoyo/file.c:736
 security_file_ioctl+0x55/0xb0 security/security.c:1441
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
 __lock_acquire+0xc5a/0x1bc0 kernel/locking/lockdep.c:3954
 paravirt_write_msr arch/x86/include/asm/paravirt.h:167 [inline]
 wrmsrl arch/x86/include/asm/paravirt.h:200 [inline]
 native_x2apic_icr_write arch/x86/include/asm/apic.h:249 [inline]
 __x2apic_send_IPI_dest arch/x86/kernel/apic/x2apic_phys.c:112 [inline]
 x2apic_send_IPI+0x96/0xc0 arch/x86/kernel/apic/x2apic_phys.c:41
 test_bit include/asm-generic/bitops/instrumented-non-atomic.h:110 [inline]
 hlock_class kernel/locking/lockdep.c:163 [inline]
 mark_lock+0x107/0x1650 kernel/locking/lockdep.c:3642
 lock_acquire+0x154/0x250 kernel/locking/lockdep.c:4484
 rcu_lock_acquire+0x9/0x30 include/linux/rcupdate.h:208
 vcpu_run+0x3a3/0xd50 arch/x86/kvm/x86.c:8513
 kvm_arch_vcpu_ioctl_run+0x419/0x880 arch/x86/kvm/x86.c:8735
 kvm_vcpu_ioctl+0x67c/0xa80 arch/x86/kvm/../../../virt/kvm/kvm_main.c:2932
 lock_is_held include/linux/lockdep.h:361 [inline]
 rcu_read_lock_sched_held+0x106/0x170 kernel/rcu/update.c:121
 kvm_vm_release+0x50/0x50 arch/x86/kvm/../../../virt/kvm/kvm_main.c:858
 vfs_ioctl fs/ioctl.c:47 [inline]
 ksys_ioctl fs/ioctl.c:763 [inline]
 __do_sys_ioctl fs/ioctl.c:772 [inline]
 __se_sys_ioctl+0xf9/0x160 fs/ioctl.c:770
 do_syscall_64+0xf3/0x1b0 arch/x86/entry/common.c:294
 entry_SYSCALL_64_after_hwframe+0x49/0xbe
Modules linked in:
CR2: 0000000000000086
---[ end trace 480d6b60d5a9226d ]---
RIP: 0010:0x86
Code: Bad RIP value.
RSP: 0018:ffffc900022e7998 EFLAGS: 00010086
RAX: ffffc900022e79c8 RBX: fffffe0000000000 RCX: ffff88809dcf2500
RDX: 0000000000000000 RSI: 0000000000000001 RDI: 0000000000000000
RBP: 0000000000000ec0 R08: ffffffff83987523 R09: ffffffff811c7eca
R10: ffff88809dcf2500 R11: 0000000000000002 R12: dffffc0000000000
R13: fffffe0000000ec8 R14: ffffffff880016f0 R15: fffffe0000000ecb
FS:  0000000001d0d880(0000) GS:ffff8880ae900000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 000000000000005c CR3: 00000000978c3000 CR4: 00000000001426e0

Crashes (6404):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2020/03/22 08:52 upstream b74b991fb8b9 78267cec .config console log report syz C ci-upstream-kasan-gce-smack-root
2020/03/27 04:54 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 04:33 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 04:09 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 03:51 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 03:28 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 03:12 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 02:55 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 02:37 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 02:07 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 01:51 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 01:30 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 01:17 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 00:57 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 00:41 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 00:27 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 00:13 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/27 00:03 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 23:52 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 23:42 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 23:26 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 23:17 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 23:06 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 23:06 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 23:06 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 22:57 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 22:48 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 22:40 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 22:31 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 22:18 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 22:09 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 22:00 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 21:49 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 21:39 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 21:19 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 21:12 upstream 9420e8ade435 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 19:52 upstream 1b649e0bcae7 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 19:32 upstream 1b649e0bcae7 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 19:21 upstream 1b649e0bcae7 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 19:10 upstream 1b649e0bcae7 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 18:56 upstream 1b649e0bcae7 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/26 18:44 upstream 1b649e0bcae7 6d25c5a0 .config console log report ci-upstream-kasan-gce-smack-root
2020/03/22 06:28 upstream b74b991fb8b9 78267cec .config console log report ci-upstream-kasan-gce-smack-root
2020/03/22 02:14 upstream b74b991fb8b9 78267cec .config console log report ci-upstream-kasan-gce-smack-root
* Struck through repros no longer work on HEAD.