linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Brendan Jackman <jackmanb@google.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	Dave Hansen <dave.hansen@linux.intel.com>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Andy Lutomirski <luto@kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Sean Christopherson <seanjc@google.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Alexandre Chartre <alexandre.chartre@oracle.com>,
	Liran Alon <liran.alon@oracle.com>,
	Jan Setje-Eilers <jan.setjeeilers@oracle.com>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will@kernel.org>,
	Mark Rutland <mark.rutland@arm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Mel Gorman <mgorman@suse.de>,
	Lorenzo Stoakes <lstoakes@gmail.com>,
	David Hildenbrand <david@redhat.com>,
	Vlastimil Babka <vbabka@suse.cz>,
	Michal Hocko <mhocko@kernel.org>,
	Khalid Aziz <khalid.aziz@oracle.com>,
	Juri Lelli <juri.lelli@redhat.com>,
	Vincent Guittot <vincent.guittot@linaro.org>,
	Dietmar Eggemann <dietmar.eggemann@arm.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	Valentin Schneider <vschneid@redhat.com>,
	Paul Turner <pjt@google.com>, Reiji Watanabe <reijiw@google.com>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
	Linux Memory Management List <linux-mm@kvack.org>
Subject: Re: [PATCH 26/26] KVM: x86: asi: Add some mitigations on address space transitions
Date: Sun, 14 Jul 2024 13:02:32 +0800	[thread overview]
Message-ID: <202407141222.Av9rdSaZ-lkp@intel.com> (raw)
In-Reply-To: <20240712-asi-rfc-24-v1-26-144b319a40d8@google.com>

Hi Brendan,

kernel test robot noticed the following build errors:

[auto build test ERROR on a38297e3fb012ddfa7ce0321a7e5a8daeb1872b6]

url:    https://github.com/intel-lab-lkp/linux/commits/Brendan-Jackman/mm-asi-Make-some-utility-functions-noinstr-compatible/20240713-012107
base:   a38297e3fb012ddfa7ce0321a7e5a8daeb1872b6
patch link:    https://lore.kernel.org/r/20240712-asi-rfc-24-v1-26-144b319a40d8%40google.com
patch subject: [PATCH 26/26] KVM: x86: asi: Add some mitigations on address space transitions
config: i386-buildonly-randconfig-004-20240714 (https://download.01.org/0day-ci/archive/20240714/202407141222.Av9rdSaZ-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240714/202407141222.Av9rdSaZ-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/202407141222.Av9rdSaZ-lkp@intel.com/

All errors (new ones prefixed by >>):

>> arch/x86/kvm/x86.c:9786:12: error: no member named 'post_asi_enter' in 'struct asi_hooks'
    9786 |         asi_hooks.post_asi_enter = ops->post_asi_enter;
         |         ~~~~~~~~~ ^
   1 error generated.


vim +9786 arch/x86/kvm/x86.c

  9726	
  9727	
  9728	int kvm_x86_vendor_init(struct kvm_x86_init_ops *ops)
  9729	{
  9730		u64 host_pat;
  9731		int r, cpu;
  9732	
  9733		guard(mutex)(&vendor_module_lock);
  9734	
  9735		if (kvm_x86_ops.hardware_enable) {
  9736			pr_err("already loaded vendor module '%s'\n", kvm_x86_ops.name);
  9737			return -EEXIST;
  9738		}
  9739	
  9740		/*
  9741		 * KVM explicitly assumes that the guest has an FPU and
  9742		 * FXSAVE/FXRSTOR. For example, the KVM_GET_FPU explicitly casts the
  9743		 * vCPU's FPU state as a fxregs_state struct.
  9744		 */
  9745		if (!boot_cpu_has(X86_FEATURE_FPU) || !boot_cpu_has(X86_FEATURE_FXSR)) {
  9746			pr_err("inadequate fpu\n");
  9747			return -EOPNOTSUPP;
  9748		}
  9749	
  9750		if (IS_ENABLED(CONFIG_PREEMPT_RT) && !boot_cpu_has(X86_FEATURE_CONSTANT_TSC)) {
  9751			pr_err("RT requires X86_FEATURE_CONSTANT_TSC\n");
  9752			return -EOPNOTSUPP;
  9753		}
  9754	
  9755		/*
  9756		 * KVM assumes that PAT entry '0' encodes WB memtype and simply zeroes
  9757		 * the PAT bits in SPTEs.  Bail if PAT[0] is programmed to something
  9758		 * other than WB.  Note, EPT doesn't utilize the PAT, but don't bother
  9759		 * with an exception.  PAT[0] is set to WB on RESET and also by the
  9760		 * kernel, i.e. failure indicates a kernel bug or broken firmware.
  9761		 */
  9762		if (rdmsrl_safe(MSR_IA32_CR_PAT, &host_pat) ||
  9763		    (host_pat & GENMASK(2, 0)) != 6) {
  9764			pr_err("host PAT[0] is not WB\n");
  9765			return -EIO;
  9766		}
  9767	
  9768		x86_emulator_cache = kvm_alloc_emulator_cache();
  9769		if (!x86_emulator_cache) {
  9770			pr_err("failed to allocate cache for x86 emulator\n");
  9771			return -ENOMEM;
  9772		}
  9773	
  9774		user_return_msrs = alloc_percpu(struct kvm_user_return_msrs);
  9775		if (!user_return_msrs) {
  9776			pr_err("failed to allocate percpu kvm_user_return_msrs\n");
  9777			r = -ENOMEM;
  9778			goto out_free_x86_emulator_cache;
  9779		}
  9780		kvm_nr_uret_msrs = 0;
  9781	
  9782		r = kvm_mmu_vendor_module_init();
  9783		if (r)
  9784			goto out_free_percpu;
  9785	
> 9786		asi_hooks.post_asi_enter = ops->post_asi_enter;
  9787		r = asi_register_class("KVM", &asi_hooks);
  9788		if (r < 0)
  9789			goto out_mmu_exit;
  9790		kvm_asi_index = r;
  9791	
  9792		if (boot_cpu_has(X86_FEATURE_XSAVE)) {
  9793			host_xcr0 = xgetbv(XCR_XFEATURE_ENABLED_MASK);
  9794			kvm_caps.supported_xcr0 = host_xcr0 & KVM_SUPPORTED_XCR0;
  9795		}
  9796	
  9797		rdmsrl_safe(MSR_EFER, &host_efer);
  9798	
  9799		if (boot_cpu_has(X86_FEATURE_XSAVES))
  9800			rdmsrl(MSR_IA32_XSS, host_xss);
  9801	
  9802		kvm_init_pmu_capability(ops->pmu_ops);
  9803	
  9804		if (boot_cpu_has(X86_FEATURE_ARCH_CAPABILITIES))
  9805			rdmsrl(MSR_IA32_ARCH_CAPABILITIES, host_arch_capabilities);
  9806	
  9807		r = ops->hardware_setup();
  9808		if (r != 0)
  9809			goto out_asi_unregister;
  9810	
  9811		kvm_ops_update(ops);
  9812	
  9813		for_each_online_cpu(cpu) {
  9814			smp_call_function_single(cpu, kvm_x86_check_cpu_compat, &r, 1);
  9815			if (r < 0)
  9816				goto out_unwind_ops;
  9817		}
  9818	
  9819		/*
  9820		 * Point of no return!  DO NOT add error paths below this point unless
  9821		 * absolutely necessary, as most operations from this point forward
  9822		 * require unwinding.
  9823		 */
  9824		kvm_timer_init();
  9825	
  9826		if (pi_inject_timer == -1)
  9827			pi_inject_timer = housekeeping_enabled(HK_TYPE_TIMER);
  9828	#ifdef CONFIG_X86_64
  9829		pvclock_gtod_register_notifier(&pvclock_gtod_notifier);
  9830	
  9831		if (hypervisor_is_type(X86_HYPER_MS_HYPERV))
  9832			set_hv_tscchange_cb(kvm_hyperv_tsc_notifier);
  9833	#endif
  9834	
  9835		kvm_register_perf_callbacks(ops->handle_intel_pt_intr);
  9836	
  9837		if (!kvm_cpu_cap_has(X86_FEATURE_XSAVES))
  9838			kvm_caps.supported_xss = 0;
  9839	

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


  reply	other threads:[~2024-07-14  5:03 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-12 17:00 [PATCH 00/26] Address Space Isolation (ASI) 2024 Brendan Jackman
2024-07-12 17:00 ` [PATCH 01/26] mm: asi: Make some utility functions noinstr compatible Brendan Jackman
2024-10-25 11:41   ` Borislav Petkov
2024-10-25 13:21     ` Brendan Jackman
2024-10-29 17:38       ` Junaid Shahid
2024-10-29 19:12         ` Thomas Gleixner
2024-11-01  1:44           ` Junaid Shahid
2024-11-01 10:06             ` Brendan Jackman
2024-11-01 20:27             ` Thomas Gleixner
2024-11-05 21:40               ` Junaid Shahid
2024-12-13 14:45               ` Brendan Jackman
2024-07-12 17:00 ` [PATCH 02/26] x86: Create CONFIG_MITIGATION_ADDRESS_SPACE_ISOLATION Brendan Jackman
2024-07-22  7:55   ` Geert Uytterhoeven
2024-07-12 17:00 ` [PATCH 03/26] mm: asi: Introduce ASI core API Brendan Jackman
2024-07-12 17:00 ` [PATCH 04/26] objtool: let some noinstr functions make indirect calls Brendan Jackman
2024-07-12 17:00 ` [PATCH 05/26] mm: asi: Add infrastructure for boot-time enablement Brendan Jackman
2024-07-12 17:00 ` [PATCH 06/26] mm: asi: ASI support in interrupts/exceptions Brendan Jackman
2024-07-12 17:00 ` [PATCH 07/26] mm: asi: Switch to unrestricted address space before a context switch Brendan Jackman
2024-07-12 17:00 ` [PATCH 08/26] mm: asi: Use separate PCIDs for restricted address spaces Brendan Jackman
2024-07-12 17:00 ` [PATCH 09/26] mm: asi: Make __get_current_cr3_fast() ASI-aware Brendan Jackman
2024-07-12 17:00 ` [PATCH 10/26] mm: asi: Avoid warning from NMI userspace accesses in ASI context Brendan Jackman
2024-07-14  3:59   ` kernel test robot
2024-07-12 17:00 ` [PATCH 11/26] mm: asi: ASI page table allocation functions Brendan Jackman
2024-07-12 17:00 ` [PATCH 12/26] mm: asi: asi_exit() on PF, skip handling if address is accessible Brendan Jackman
2024-07-12 17:00 ` [PATCH 13/26] mm: asi: Functions to map/unmap a memory range into ASI page tables Brendan Jackman
2024-07-12 17:00 ` [PATCH 14/26] mm: asi: Add basic infrastructure for global non-sensitive mappings Brendan Jackman
2024-07-12 17:00 ` [PATCH 15/26] mm: Add __PAGEFLAG_FALSE Brendan Jackman
2024-07-12 17:00 ` [PATCH 16/26] mm: asi: Map non-user buddy allocations as nonsensitive Brendan Jackman
2024-08-21 13:59   ` Brendan Jackman
2024-07-12 17:00 ` [PATCH 17/26] mm: asi: Map kernel text and static data " Brendan Jackman
2024-07-12 17:00 ` [PATCH 18/26] mm: asi: Map vmalloc/vmap data as nonsesnitive Brendan Jackman
2024-07-13 15:53   ` kernel test robot
2024-07-12 17:00 ` [PATCH 19/26] percpu: clean up all mappings when pcpu_map_pages() fails Brendan Jackman
2024-07-16  1:33   ` Yosry Ahmed
2024-07-12 17:00 ` [PATCH 20/26] mm: asi: Map dynamic percpu memory as nonsensitive Brendan Jackman
2024-07-12 17:00 ` [PATCH 21/26] KVM: x86: asi: Restricted address space for VM execution Brendan Jackman
2024-07-12 17:00 ` [PATCH 22/26] KVM: x86: asi: Stabilize CR3 when potentially accessing with ASI Brendan Jackman
2024-07-12 17:00 ` [PATCH 23/26] mm: asi: Stabilize CR3 in switch_mm_irqs_off() Brendan Jackman
2024-07-12 17:00 ` [PATCH 24/26] mm: asi: Make TLB flushing correct under ASI Brendan Jackman
2024-07-12 17:00 ` [PATCH 25/26] mm: asi: Stop ignoring asi=on cmdline flag Brendan Jackman
2024-07-12 17:00 ` [PATCH 26/26] KVM: x86: asi: Add some mitigations on address space transitions Brendan Jackman
2024-07-14  5:02   ` kernel test robot [this message]
2024-08-20 10:52   ` Shivank Garg
2024-08-21  9:38     ` Brendan Jackman
2024-08-21 16:00       ` Shivank Garg
2024-07-12 17:09 ` [PATCH 00/26] Address Space Isolation (ASI) 2024 Brendan Jackman
2024-09-11 16:37 ` Brendan Jackman

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=202407141222.Av9rdSaZ-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=alexandre.chartre@oracle.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@redhat.com \
    --cc=dietmar.eggemann@arm.com \
    --cc=hpa@zytor.com \
    --cc=jackmanb@google.com \
    --cc=jan.setjeeilers@oracle.com \
    --cc=juri.lelli@redhat.com \
    --cc=khalid.aziz@oracle.com \
    --cc=linux-mm@kvack.org \
    --cc=liran.alon@oracle.com \
    --cc=llvm@lists.linux.dev \
    --cc=lstoakes@gmail.com \
    --cc=luto@kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=mgorman@suse.de \
    --cc=mhocko@kernel.org \
    --cc=mingo@redhat.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=pjt@google.com \
    --cc=reijiw@google.com \
    --cc=rostedt@goodmis.org \
    --cc=seanjc@google.com \
    --cc=tglx@linutronix.de \
    --cc=vbabka@suse.cz \
    --cc=vincent.guittot@linaro.org \
    --cc=vschneid@redhat.com \
    --cc=will@kernel.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).