Re: general protection fault in vmx_vcpu_run (2)
From: Sean Christopherson
Date: Mon Jul 10 2023 - 18:31:06 EST
On Fri, Feb 05, 2021, syzbot wrote:
> Hello,
>
> syzbot found the following issue on:
>
> HEAD commit: aa2b8820 Add linux-next specific files for 20210205
> git tree: linux-next
> console output: https://syzkaller.appspot.com/x/log.txt?x=13d27b54d00000
> kernel config: https://syzkaller.appspot.com/x/.config?x=15c41e44a64aa1a5
> dashboard link: https://syzkaller.appspot.com/bug?extid=42a71c84ef04577f1aef
>
> Unfortunately, I don't have any reproducer for this issue yet.
>
> IMPORTANT: if you fix the issue, please add the following tag to the commit:
> Reported-by: syzbot+42a71c84ef04577f1aef@xxxxxxxxxxxxxxxxxxxxxxxxx
>
> general protection fault, probably for non-canonical address 0xdffffc0000001e26: 0000 [#1] PREEMPT SMP KASAN
> KASAN: probably user-memory-access in range [0x000000000000f130-0x000000000000f137]
> CPU: 0 PID: 18290 Comm: syz-executor.0 Not tainted 5.11.0-rc6-next-20210205-syzkaller #0
> Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
> RIP: 0010:atomic_switch_perf_msrs arch/x86/kvm/vmx/vmx.c:6527 [inline]
> RIP: 0010:vmx_vcpu_run+0x538/0x2740 arch/x86/kvm/vmx/vmx.c:6698
> Code: 8a 55 00 39 eb 0f 8d fd 00 00 00 e8 42 85 55 00 48 8b 0c 24 48 63 c3 48 8d 04 40 48 8d 2c c1 48 8d 7d 08 48 89 f8 48 c1 e8 03 <42> 80 3c 38 00 0f 85 05 1d 00 00 48 8d 7d 10 4c 8b 6d 08 48 89 f8
> RSP: 0018:ffffc9000238fb00 EFLAGS: 00010003
> RAX: 0000000000001e26 RBX: 0000000000000000 RCX: 000000000000f12e
> RDX: 0000000000040000 RSI: ffffffff811d679e RDI: 000000000000f136
> RBP: 000000000000f12e R08: 0000000000000000 R09: 0000000000000000
> R10: ffffffff811d675e R11: 0000000000000000 R12: ffff88806d8ba4d0
> R13: ffff88806d8ba520 R14: ffff88806d8b8000 R15: dffffc0000000000
> FS: 00007f1a30eaf700(0000) GS:ffff8880b9c00000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 00007f1a30ece6b8 CR3: 000000001c387000 CR4: 00000000001526f0
> Call Trace:
> vcpu_enter_guest+0x103d/0x3f90 arch/x86/kvm/x86.c:9015
> vcpu_run arch/x86/kvm/x86.c:9155 [inline]
> kvm_arch_vcpu_ioctl_run+0x440/0x1980 arch/x86/kvm/x86.c:9382
> kvm_vcpu_ioctl+0x467/0xd90 arch/x86/kvm/../../../virt/kvm/kvm_main.c:3283
> vfs_ioctl fs/ioctl.c:48 [inline]
> __do_sys_ioctl fs/ioctl.c:753 [inline]
> __se_sys_ioctl fs/ioctl.c:739 [inline]
> __x64_sys_ioctl+0x193/0x200 fs/ioctl.c:739
> do_syscall_64+0x2d/0x70 arch/x86/entry/common.c:46
> entry_SYSCALL_64_after_hwframe+0x44/0xa9
> RIP: 0033:0x465b09
I haven't been able to reproduce this, and based on the super simple reproducer
and the fact that AFAICT this hasn't been hit in 2+ years, I suspect whatever
was broken has long since been fixed.
#syz test: git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master