lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202003201815.I3ugPJIn%lkp@intel.com>
Date:   Fri, 20 Mar 2020 18:13:16 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Yang Weijiang <weijiang.yang@...el.com>
Cc:     kbuild-all@...ts.01.org, kvm@...r.kernel.org,
        linux-kernel@...r.kernel.org, sean.j.christopherson@...el.com,
        pbonzini@...hat.com, jmattson@...gle.com
Subject: Re: [PATCH v10 3/8] KVM: VMX: Load CET states on vmentry/vmexit

Hi Yang,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on kvm/linux-next]
[also build test ERROR on next-20200319]
[cannot apply to vhost/linux-next tip/auto-latest linux/master linus/master v5.6-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Yang-Weijiang/Introduce-support-for-guest-CET-feature/20200320-155517
base:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git linux-next
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-5) 7.5.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   arch/x86/kvm/x86.c: In function 'kvm_set_cr0':
>> arch/x86/kvm/x86.c:807:53: error: 'X86_CR4_CET' undeclared (first use in this function); did you mean 'X86_CR4_DE'?
     if (!(cr0 & X86_CR0_WP) && kvm_read_cr4_bits(vcpu, X86_CR4_CET))
                                                        ^~~~~~~~~~~
                                                        X86_CR4_DE
   arch/x86/kvm/x86.c:807:53: note: each undeclared identifier is reported only once for each function it appears in
--
>> arch/x86/kvm/vmx/vmx.c:47:10: fatal error: asm/cet.h: No such file or directory
    #include <asm/cet.h>
             ^~~~~~~~~~~
   compilation terminated.

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

   778	
   779		cr0 &= ~CR0_RESERVED_BITS;
   780	
   781		if ((cr0 & X86_CR0_NW) && !(cr0 & X86_CR0_CD))
   782			return 1;
   783	
   784		if ((cr0 & X86_CR0_PG) && !(cr0 & X86_CR0_PE))
   785			return 1;
   786	
   787		if (!is_paging(vcpu) && (cr0 & X86_CR0_PG)) {
   788	#ifdef CONFIG_X86_64
   789			if ((vcpu->arch.efer & EFER_LME)) {
   790				int cs_db, cs_l;
   791	
   792				if (!is_pae(vcpu))
   793					return 1;
   794				kvm_x86_ops->get_cs_db_l_bits(vcpu, &cs_db, &cs_l);
   795				if (cs_l)
   796					return 1;
   797			} else
   798	#endif
   799			if (is_pae(vcpu) && !load_pdptrs(vcpu, vcpu->arch.walk_mmu,
   800							 kvm_read_cr3(vcpu)))
   801				return 1;
   802		}
   803	
   804		if (!(cr0 & X86_CR0_PG) && kvm_read_cr4_bits(vcpu, X86_CR4_PCIDE))
   805			return 1;
   806	
 > 807		if (!(cr0 & X86_CR0_WP) && kvm_read_cr4_bits(vcpu, X86_CR4_CET))
   808			return 1;
   809	
   810		kvm_x86_ops->set_cr0(vcpu, cr0);
   811	
   812		if ((cr0 ^ old_cr0) & X86_CR0_PG) {
   813			kvm_clear_async_pf_completion_queue(vcpu);
   814			kvm_async_pf_hash_reset(vcpu);
   815		}
   816	
   817		if ((cr0 ^ old_cr0) & update_bits)
   818			kvm_mmu_reset_context(vcpu);
   819	
   820		if (((cr0 ^ old_cr0) & X86_CR0_CD) &&
   821		    kvm_arch_has_noncoherent_dma(vcpu->kvm) &&
   822		    !kvm_check_has_quirk(vcpu->kvm, KVM_X86_QUIRK_CD_NW_CLEARED))
   823			kvm_zap_gfn_range(vcpu->kvm, 0, ~0ULL);
   824	
   825		return 0;
   826	}
   827	EXPORT_SYMBOL_GPL(kvm_set_cr0);
   828	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (71473 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ