Re: [PATCH v3 1/2] x86/kvm/vmx: Move IRQ/NMI dispatch from KVM into x86 core

From: Nathan Chancellor

Date: Wed May 20 2026 - 19:07:44 EST


On Fri, May 08, 2026 at 11:18:29AM +0200, Peter Zijlstra wrote:
>
> Move the VMX interrupt dispatch magic into the x86 core code. This
> isolates KVM from the FRED/IDT decisions and reduces the amount of
> EXPORT_SYMBOL_FOR_KVM().
>
> Suggested-by: Sean Christopherson <seanjc@xxxxxxxxxx>
> Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
> Tested-by: "Verma, Vishal L" <vishal.l.verma@xxxxxxxxx>

I am seeing

vmlinux.o: warning: objtool: idt_do_interrupt_irqoff+0xe: no-cfi indirect call!

after this landed in -next.

$ cat arch/x86/configs/repro.config
CONFIG_CFI=y
CONFIG_KVM=y
CONFIG_KVM_INTEL=y

$ make -skj"$(nproc)" ARCH=x86_64 LLVM=1 mrproper defconfig repro.config vmlinux
vmlinux.o: warning: objtool: idt_do_interrupt_irqoff+0xe: no-cfi indirect call!

$ llvm-objdump -drS --disassemble-symbols=idt_do_interrupt_irqoff vmlinux.o

vmlinux.o: file format elf64-x86-64

Disassembly of section .text:

0000000000001540 <idt_do_interrupt_irqoff>:
1540: 55 pushq %rbp
1541: 48 89 e5 movq %rsp, %rbp
1544: 48 83 e4 f0 andq $-0x10, %rsp
1548: 6a 18 pushq $0x18
154a: 55 pushq %rbp
154b: 9c pushfq
154c: 6a 10 pushq $0x10
154e: e8 00 00 00 00 callq 0x1553 <idt_do_interrupt_irqoff+0x13>
000000000000154f: R_X86_64_PLT32 __x86_indirect_thunk_rdi-0x4
1553: c9 leave
1554: e9 00 00 00 00 jmp 0x1559 <idt_do_interrupt_irqoff+0x19>
0000000000001555: R_X86_64_PLT32 __x86_return_thunk-0x4
1559: cc int3
155a: cc int3
155b: cc int3
155c: cc int3
155d: cc int3
155e: cc int3
155f: cc int3
1560: 90 nop
1561: 90 nop
1562: 90 nop
1563: 90 nop
1564: 90 nop
1565: 90 nop
1566: 90 nop
1567: 90 nop
1568: 90 nop
1569: 90 nop
156a: 90 nop
156b: 90 nop
156c: 90 nop
156d: 90 nop
156e: 90 nop
156f: 90 nop

Cheers,
Nathan