kvm: GPF in kvm_pic_set_irq
Hello, The following program triggers GPF in kvm_pic_set_irq in run in a parallel loop: https://gist.githubusercontent.com/dvyukov/0d868a3fcec50758ccf638dc87827ab3/raw/526bb6285785137e5d7c89dad2bdd05c66337daf/gistfile1.txt On commit 015ed9433be2b476ec7e2e6a9a411a56e3b5b035 (Nov 11). general protection fault: [#1] SMP KASAN Dumping ftrace buffer: (ftrace buffer empty) Modules linked in: CPU: 0 PID: 3308 Comm: kvm-pit/3270 Not tainted 4.9.0-rc4+ #42 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 task: 88003b85adc0 task.stack: 8800387e8000 RIP: 0010:[] [] __lock_acquire+0x125/0x3630 kernel/locking/lockdep.c:3221 RSP: 0018:8800387ef8b0 EFLAGS: 00010006 RAX: dc00 RBX: 88003b85adc0 RCX: RDX: 0003 RSI: RDI: 0018 RBP: 8800387efa48 R08: 0001 R09: R10: 84da1600 R11: 1100070fdf2c R12: 88003b85adc0 R13: 83c19020 R14: 0001 R15: 0018 FS: () GS:88003ec0() knlGS: CS: 0010 DS: ES: CR0: 80050033 CR2: 006e CR3: 6c006000 CR4: 26f0 Stack: 8800387ef8c8 0046 8800387ef980 0046 88003b85adc0 88003b85adc0 88003b85b5c0 88003b85adc0 83c19020 88003b85b5e2 Call Trace: [] lock_acquire+0x169/0x330 kernel/locking/lockdep.c:3746 [< inline >] __raw_spin_lock include/linux/spinlock_api_smp.h:144 [] _raw_spin_lock+0x33/0x50 kernel/locking/spinlock.c:151 [< inline >] pic_lock include/linux/spinlock.h:302 [] kvm_pic_set_irq+0x3a/0x720 arch/x86/kvm/i8259.c:197 [] kvm_set_pic_irq+0x7c/0xa0 arch/x86/kvm/irq_comm.c:44 [] kvm_set_irq+0x1c9/0x460 arch/x86/kvm/../../../virt/kvm/irqchip.c:101 [] pit_do_work+0xdb/0x2d0 arch/x86/kvm/i8254.c:250 [] kthread_worker_fn+0x37e/0x780 kernel/kthread.c:624 [] kthread+0x244/0x2d0 kernel/kthread.c:209 [] ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:433 Code: 0f 1f 44 00 00 f6 c4 02 0f 85 5d 0a 00 00 44 8b 35 41 b6 7a 02 45 85 f6 74 2c 4c 89 fa 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 6e 30 00 00 49 81 3f 60 d0 10 84 41 be 00 00 RIP [] __lock_acquire+0x125/0x3630 kernel/locking/lockdep.c:3221 RSP ---[ end trace b74c04baf1b86ffa ]--- Kernel panic - not syncing: Fatal exception Dumping ftrace buffer: (ftrace buffer empty) Kernel Offset: disabled reboot: cpu_has_vmx: ecx=80a02021 1
kvm: GPF in kvm_pic_set_irq
Hello, The following program triggers GPF in kvm_pic_set_irq in run in a parallel loop: https://gist.githubusercontent.com/dvyukov/0d868a3fcec50758ccf638dc87827ab3/raw/526bb6285785137e5d7c89dad2bdd05c66337daf/gistfile1.txt On commit 015ed9433be2b476ec7e2e6a9a411a56e3b5b035 (Nov 11). general protection fault: [#1] SMP KASAN Dumping ftrace buffer: (ftrace buffer empty) Modules linked in: CPU: 0 PID: 3308 Comm: kvm-pit/3270 Not tainted 4.9.0-rc4+ #42 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011 task: 88003b85adc0 task.stack: 8800387e8000 RIP: 0010:[] [] __lock_acquire+0x125/0x3630 kernel/locking/lockdep.c:3221 RSP: 0018:8800387ef8b0 EFLAGS: 00010006 RAX: dc00 RBX: 88003b85adc0 RCX: RDX: 0003 RSI: RDI: 0018 RBP: 8800387efa48 R08: 0001 R09: R10: 84da1600 R11: 1100070fdf2c R12: 88003b85adc0 R13: 83c19020 R14: 0001 R15: 0018 FS: () GS:88003ec0() knlGS: CS: 0010 DS: ES: CR0: 80050033 CR2: 006e CR3: 6c006000 CR4: 26f0 Stack: 8800387ef8c8 0046 8800387ef980 0046 88003b85adc0 88003b85adc0 88003b85b5c0 88003b85adc0 83c19020 88003b85b5e2 Call Trace: [] lock_acquire+0x169/0x330 kernel/locking/lockdep.c:3746 [< inline >] __raw_spin_lock include/linux/spinlock_api_smp.h:144 [] _raw_spin_lock+0x33/0x50 kernel/locking/spinlock.c:151 [< inline >] pic_lock include/linux/spinlock.h:302 [] kvm_pic_set_irq+0x3a/0x720 arch/x86/kvm/i8259.c:197 [] kvm_set_pic_irq+0x7c/0xa0 arch/x86/kvm/irq_comm.c:44 [] kvm_set_irq+0x1c9/0x460 arch/x86/kvm/../../../virt/kvm/irqchip.c:101 [] pit_do_work+0xdb/0x2d0 arch/x86/kvm/i8254.c:250 [] kthread_worker_fn+0x37e/0x780 kernel/kthread.c:624 [] kthread+0x244/0x2d0 kernel/kthread.c:209 [] ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:433 Code: 0f 1f 44 00 00 f6 c4 02 0f 85 5d 0a 00 00 44 8b 35 41 b6 7a 02 45 85 f6 74 2c 4c 89 fa 48 b8 00 00 00 00 00 fc ff df 48 c1 ea 03 <80> 3c 02 00 0f 85 6e 30 00 00 49 81 3f 60 d0 10 84 41 be 00 00 RIP [] __lock_acquire+0x125/0x3630 kernel/locking/lockdep.c:3221 RSP ---[ end trace b74c04baf1b86ffa ]--- Kernel panic - not syncing: Fatal exception Dumping ftrace buffer: (ftrace buffer empty) Kernel Offset: disabled reboot: cpu_has_vmx: ecx=80a02021 1