From: kernel test robot <lkp@intel.com>
To: Sean Christopherson <seanjc@google.com>
Cc: oe-kbuild-all@lists.linux.dev
Subject: [sean-jc:x86/stale_mmio_cleanup 70/72] arch/x86/kvm/vmx/vmx.c:7364:43: error: 'struct kvm_arch' has no member named 'mapped_host_mmio'
Date: Wed, 2 Apr 2025 16:38:25 +0800 [thread overview]
Message-ID: <202504021630.C3QkiAsX-lkp@intel.com> (raw)
tree: https://github.com/sean-jc/linux x86/stale_mmio_cleanup
head: 1f284ca401d9620d6f0e4aea289cc2a50c4403e9
commit: 7df9be2ef92ca4407a365455e0670f4f07af7e25 [70/72] KVM: VMX: Apply MMIO mitigation if KVM maps MMIO into the guest
config: i386-buildonly-randconfig-001-20250402 (https://download.01.org/0day-ci/archive/20250402/202504021630.C3QkiAsX-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250402/202504021630.C3QkiAsX-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/202504021630.C3QkiAsX-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from <command-line>:
arch/x86/kvm/vmx/vmx.c: In function 'vmx_vcpu_enter_exit':
>> arch/x86/kvm/vmx/vmx.c:7364:43: error: 'struct kvm_arch' has no member named 'mapped_host_mmio'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^
include/linux/compiler_types.h:522:23: note: in definition of macro '__compiletime_assert'
522 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/vmx.c:7364:18: note: in expansion of macro 'READ_ONCE'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^~~~~~~~~
>> arch/x86/kvm/vmx/vmx.c:7364:43: error: 'struct kvm_arch' has no member named 'mapped_host_mmio'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^
include/linux/compiler_types.h:522:23: note: in definition of macro '__compiletime_assert'
522 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/vmx.c:7364:18: note: in expansion of macro 'READ_ONCE'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^~~~~~~~~
>> arch/x86/kvm/vmx/vmx.c:7364:43: error: 'struct kvm_arch' has no member named 'mapped_host_mmio'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^
include/linux/compiler_types.h:522:23: note: in definition of macro '__compiletime_assert'
522 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/vmx.c:7364:18: note: in expansion of macro 'READ_ONCE'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^~~~~~~~~
>> arch/x86/kvm/vmx/vmx.c:7364:43: error: 'struct kvm_arch' has no member named 'mapped_host_mmio'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^
include/linux/compiler_types.h:522:23: note: in definition of macro '__compiletime_assert'
522 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:28: note: in expansion of macro '__native_word'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/vmx.c:7364:18: note: in expansion of macro 'READ_ONCE'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^~~~~~~~~
>> arch/x86/kvm/vmx/vmx.c:7364:43: error: 'struct kvm_arch' has no member named 'mapped_host_mmio'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^
include/linux/compiler_types.h:522:23: note: in definition of macro '__compiletime_assert'
522 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler_types.h:542:9: note: in expansion of macro '_compiletime_assert'
542 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:36:9: note: in expansion of macro 'compiletime_assert'
36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \
| ^~~~~~~~~~~~~~~~~~
include/asm-generic/rwonce.h:49:9: note: in expansion of macro 'compiletime_assert_rwonce_type'
49 | compiletime_assert_rwonce_type(x); \
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/vmx/vmx.c:7364:18: note: in expansion of macro 'READ_ONCE'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^~~~~~~~~
>> arch/x86/kvm/vmx/vmx.c:7364:43: error: 'struct kvm_arch' has no member named 'mapped_host_mmio'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^
include/linux/compiler_types.h:498:27: note: in definition of macro '__unqual_scalar_typeof'
498 | _Generic((x), \
| ^
include/asm-generic/rwonce.h:50:9: note: in expansion of macro '__READ_ONCE'
50 | __READ_ONCE(x); \
| ^~~~~~~~~~~
arch/x86/kvm/vmx/vmx.c:7364:18: note: in expansion of macro 'READ_ONCE'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^~~~~~~~~
In file included from ./arch/x86/include/generated/asm/rwonce.h:1,
from include/linux/compiler.h:344,
from include/linux/export.h:5,
from include/linux/linkage.h:7,
from include/linux/fs.h:5,
from include/linux/highmem.h:5,
from arch/x86/kvm/vmx/vmx.c:17:
>> arch/x86/kvm/vmx/vmx.c:7364:43: error: 'struct kvm_arch' has no member named 'mapped_host_mmio'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^
include/asm-generic/rwonce.h:44:73: note: in definition of macro '__READ_ONCE'
44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x))
| ^
arch/x86/kvm/vmx/vmx.c:7364:18: note: in expansion of macro 'READ_ONCE'
7364 | READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
| ^~~~~~~~~
vim +7364 arch/x86/kvm/vmx/vmx.c
7347
7348 static noinstr void vmx_vcpu_enter_exit(struct kvm_vcpu *vcpu,
7349 unsigned int flags)
7350 {
7351 struct vcpu_vmx *vmx = to_vmx(vcpu);
7352
7353 guest_state_enter_irqoff();
7354
7355 /*
7356 * L1D Flush includes CPU buffer clear to mitigate MDS, but VERW
7357 * mitigation for MDS is done late in VMentry and is still
7358 * executed in spite of L1D Flush. This is because an extra VERW
7359 * should not matter much after the big hammer L1D Flush.
7360 */
7361 if (static_branch_unlikely(&vmx_l1d_should_flush))
7362 vmx_l1d_flush(vcpu);
7363 else if (static_branch_unlikely(&mmio_stale_data_clear) &&
> 7364 READ_ONCE(vcpu->kvm->arch.mapped_host_mmio))
7365 mds_clear_cpu_buffers();
7366
7367 vmx_disable_fb_clear(vmx);
7368
7369 if (vcpu->arch.cr2 != native_read_cr2())
7370 native_write_cr2(vcpu->arch.cr2);
7371
7372 vmx->fail = __vmx_vcpu_run(vmx, (unsigned long *)&vcpu->arch.regs,
7373 flags);
7374
7375 vcpu->arch.cr2 = native_read_cr2();
7376 vcpu->arch.regs_avail &= ~VMX_REGS_LAZY_LOAD_SET;
7377
7378 vmx->idt_vectoring_info = 0;
7379
7380 vmx_enable_fb_clear(vmx);
7381
7382 if (unlikely(vmx->fail)) {
7383 vmx->exit_reason.full = 0xdead;
7384 goto out;
7385 }
7386
7387 vmx->exit_reason.full = vmcs_read32(VM_EXIT_REASON);
7388 if (likely(!vmx->exit_reason.failed_vmentry))
7389 vmx->idt_vectoring_info = vmcs_read32(IDT_VECTORING_INFO_FIELD);
7390
7391 if ((u16)vmx->exit_reason.basic == EXIT_REASON_EXCEPTION_NMI &&
7392 is_nmi(vmx_get_intr_info(vcpu))) {
7393 kvm_before_interrupt(vcpu, KVM_HANDLING_NMI);
7394 if (cpu_feature_enabled(X86_FEATURE_FRED))
7395 fred_entry_from_kvm(EVENT_TYPE_NMI, NMI_VECTOR);
7396 else
7397 vmx_do_nmi_irqoff();
7398 kvm_after_interrupt(vcpu);
7399 }
7400
7401 out:
7402 guest_state_exit_irqoff();
7403 }
7404
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2025-04-02 8:39 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202504021630.C3QkiAsX-lkp@intel.com \
--to=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=seanjc@google.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.