[sean-jc:x86/no_bug_on_bad_eoi_vector 120/120] arch/x86/kvm/lapic.c:1625:6: error: conflicting types for 'kvm_apic_set_eoi_accelerated'; have 'void(struct kvm_vcpu *, u8)' {aka 'void(struct kvm_vcpu *, unsigned char)'}

kernel test robot <[email protected]> Wed, 29 Jul 2026 01:06:03 +0200
Newsgroups dev.linux.lists.oe-kbuild-all
Message-ID <[email protected]>
Hi Sean,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://github.com/sean-jc/linux x86/no_bug_on_bad_eoi_vector
head:   49569850d8b90a3da31a4d3e2518ce4aa618c242
commit: 49569850d8b90a3da31a4d3e2518ce4aa618c242 [120/120] KVM: x86: Track kvm_vcpu_arch.pending_ioapic_eoi as a u8 to drop dead BUG_ON()
config: x86_64-rhel-9.4-bpf (https://download.01.org/0day-ci/archive/20260729/[email protected]/config)
compiler: gcc-14 (Debian 14.2.0-19) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260729/[email protected]/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email protected]/

All errors (new ones prefixed by >>):

>> arch/x86/kvm/lapic.c:1625:6: error: conflicting types for 'kvm_apic_set_eoi_accelerated'; have 'void(struct kvm_vcpu *, u8)' {aka 'void(struct kvm_vcpu *, unsigned char)'}
    1625 | void kvm_apic_set_eoi_accelerated(struct kvm_vcpu *vcpu, u8 vector)
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from arch/x86/kvm/irq.h:19,
                    from arch/x86/kvm/lapic.c:41:
   arch/x86/kvm/lapic.h:180:6: note: previous declaration of 'kvm_apic_set_eoi_accelerated' with type 'void(struct kvm_vcpu *, int)'
     180 | void kvm_apic_set_eoi_accelerated(struct kvm_vcpu *vcpu, int vector);
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from include/linux/linkage.h:7,
                    from arch/x86/include/asm/cache.h:5,
                    from include/vdso/cache.h:5,
                    from include/linux/cache.h:6,
                    from arch/x86/include/asm/current.h:10,
                    from include/linux/sched.h:12,
                    from include/linux/resume_user_mode.h:6,
                    from include/linux/entry-virt.h:6,
                    from include/linux/kvm_host.h:5,
                    from arch/x86/kvm/lapic.c:20:
   arch/x86/kvm/lapic.c:1634:32: error: conflicting types for 'kvm_apic_set_eoi_accelerated'; have 'void(struct kvm_vcpu *, u8)' {aka 'void(struct kvm_vcpu *, unsigned char)'}
    1634 | EXPORT_SYMBOL_FOR_KVM_INTERNAL(kvm_apic_set_eoi_accelerated);
         |                                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/export.h:76:28: note: in definition of macro '__EXPORT_SYMBOL'
      76 |         extern typeof(sym) sym;                                 \
         |                            ^~~
   include/linux/kvm_types.h:13:9: note: in expansion of macro 'EXPORT_SYMBOL_FOR_MODULES'
      13 |         EXPORT_SYMBOL_FOR_MODULES(symbol, __stringify(KVM_SUB_MODULES))
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/lapic.c:1634:1: note: in expansion of macro 'EXPORT_SYMBOL_FOR_KVM_INTERNAL'
    1634 | EXPORT_SYMBOL_FOR_KVM_INTERNAL(kvm_apic_set_eoi_accelerated);
         | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   arch/x86/kvm/lapic.h:180:6: note: previous declaration of 'kvm_apic_set_eoi_accelerated' with type 'void(struct kvm_vcpu *, int)'
     180 | void kvm_apic_set_eoi_accelerated(struct kvm_vcpu *vcpu, int vector);
         |      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~


vim +1625 arch/x86/kvm/lapic.c

  1620	
  1621	/*
  1622	 * this interface assumes a trap-like exit, which has already finished
  1623	 * desired side effect including vISR and vPPR update.
  1624	 */
> 1625	void kvm_apic_set_eoi_accelerated(struct kvm_vcpu *vcpu, u8 vector)
  1626	{
  1627		struct kvm_lapic *apic = vcpu->arch.apic;
  1628	
  1629		trace_kvm_eoi(apic, vector);
  1630	
  1631		kvm_ioapic_send_eoi(apic, vector);
  1632		kvm_make_request(KVM_REQ_EVENT, apic->vcpu);
  1633	}
  1634	EXPORT_SYMBOL_FOR_KVM_INTERNAL(kvm_apic_set_eoi_accelerated);
  1635	

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki