All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Chang S. Bae" <chang.seok.bae@intel.com>
Cc: oe-kbuild-all@lists.linux.dev, kvm@vger.kernel.org,
	Farrah Chen <farrah.chen@intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>
Subject: [kvm:queue 4/24] arch/x86/kvm/vmx/vmenter.S:98: Error: invalid operands (*UND* and *ABS* sections) for `*'
Date: Thu, 14 May 2026 11:20:40 +0800	[thread overview]
Message-ID: <202605141102.53Vk824r-lkp@intel.com> (raw)

Hi Chang,

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

tree:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
head:   2b5e4245e1d31fd0858bb7abbd82af85a6457c33
commit: d1d1534a7ef4694a6a7b079c80e661dd66d04e9c [4/24] KVM: VMX: Macrofy GPR swapping in __vmx_vcpu_run()
config: i386-buildonly-randconfig-001-20260514 (https://download.01.org/0day-ci/archive/20260514/202605141102.53Vk824r-lkp@intel.com/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/20260514/202605141102.53Vk824r-lkp@intel.com/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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202605141102.53Vk824r-lkp@intel.com/

All errors (new ones prefixed by >>):

   arch/x86/kvm/vmx/vmenter.S: Assembler messages:
>> arch/x86/kvm/vmx/vmenter.S:98: Error: invalid operands (*UND* and *ABS* sections) for `*'
>> arch/x86/kvm/vmx/vmenter.S:98: Error: invalid operands (*UND* and *ABS* sections) for `*'
>> arch/x86/kvm/vmx/vmenter.S:98: Error: invalid operands (*UND* and *ABS* sections) for `*'
>> arch/x86/kvm/vmx/vmenter.S:98: Error: invalid operands (*UND* and *ABS* sections) for `*'
>> arch/x86/kvm/vmx/vmenter.S:98: Error: invalid operands (*UND* and *ABS* sections) for `*'
>> arch/x86/kvm/vmx/vmenter.S:98: Error: invalid operands (*UND* and *ABS* sections) for `*'
   arch/x86/kvm/vmx/vmenter.S:105: Error: invalid operands (*UND* and *ABS* sections) for `*'
   arch/x86/kvm/vmx/vmenter.S:164: Error: invalid operands (*UND* and *ABS* sections) for `*'
   arch/x86/kvm/vmx/vmenter.S:164: Error: invalid operands (*UND* and *ABS* sections) for `*'
   arch/x86/kvm/vmx/vmenter.S:164: Error: invalid operands (*UND* and *ABS* sections) for `*'
   arch/x86/kvm/vmx/vmenter.S:164: Error: invalid operands (*UND* and *ABS* sections) for `*'
   arch/x86/kvm/vmx/vmenter.S:164: Error: invalid operands (*UND* and *ABS* sections) for `*'
   arch/x86/kvm/vmx/vmenter.S:164: Error: invalid operands (*UND* and *ABS* sections) for `*'
   arch/x86/kvm/vmx/vmenter.S:166: Error: invalid operands (*UND* and *ABS* sections) for `*'


vim +98 arch/x86/kvm/vmx/vmenter.S

    88	
    89		/*
    90		 * Since vmentry is serializing on affected CPUs, there's no need for
    91		 * an LFENCE to stop speculation from skipping the wrmsr.
    92		 */
    93	
    94		/*
    95		 * Load guest registers.  Don't clobber flags. Intentionally omit
    96		 * %_ASM_SP as it's context switched by hardware
    97		 */
  > 98		LOAD_REGS %_ASM_DI, VMX_vcpu_arch_regs, \
    99			  %_ASM_AX, %_ASM_CX, %_ASM_DX, %_ASM_BX, %_ASM_BP, %_ASM_SI
   100	#ifdef CONFIG_X86_64
   101		LOAD_REGS %_ASM_DI, VMX_vcpu_arch_regs, \
   102			  %r8, %r9, %r10, %r11, %r12, %r13, %r14, %r15
   103	#endif
   104		/* Load guest RDI.  This kills the @vmx pointer! */
   105		LOAD_REGS %_ASM_DI, VMX_vcpu_arch_regs, %_ASM_DI
   106	
   107		/*
   108		 * Note, ALTERNATIVE_2 works in reverse order.  If CLEAR_CPU_BUF_VM is
   109		 * enabled, do VERW unconditionally.  If CPU_BUF_VM_MMIO is enabled,
   110		 * check @flags to see if the vCPU has access to host MMIO, and if so,
   111		 * do VERW.  Else, do nothing (no mitigations needed/enabled).
   112		 */
   113		ALTERNATIVE_2 "",									  \
   114			      __stringify(testl $KVM_ENTER_CLEAR_CPU_BUFFERS_FOR_MMIO, (%_ASM_SP);	  \
   115					  jz .Lskip_mmio_verw;						  \
   116					  VERW;								  \
   117					  .Lskip_mmio_verw:),					  	  \
   118			      X86_FEATURE_CLEAR_CPU_BUF_VM_MMIO,					  \
   119			      __stringify(VERW), X86_FEATURE_CLEAR_CPU_BUF_VM
   120	
   121		/* Check @flags to see if VMLAUNCH or VMRESUME is needed. */
   122		testl $KVM_ENTER_VMRESUME, (%_ASM_SP)
   123		jz .Lvmlaunch
   124	
   125		/*
   126		 * After a successful VMRESUME/VMLAUNCH, control flow "magically"
   127		 * resumes below at 'vmx_vmexit' due to the VMCS HOST_RIP setting.
   128		 * So this isn't a typical function and objtool needs to be told to
   129		 * save the unwind state here and restore it below.
   130		 */
   131		UNWIND_HINT_SAVE
   132	

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

             reply	other threads:[~2026-05-14  3:21 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-14  3:20 kernel test robot [this message]
2026-05-14  9:25 ` [kvm:queue 4/24] arch/x86/kvm/vmx/vmenter.S:98: Error: invalid operands (*UND* and *ABS* sections) for `*' Paolo Bonzini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202605141102.53Vk824r-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=chang.seok.bae@intel.com \
    --cc=farrah.chen@intel.com \
    --cc=kvm@vger.kernel.org \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pbonzini@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.