All of lore.kernel.org
 help / color / mirror / Atom feed
* [sean-jc:x86/formalize_shadow_mmu 30/39] arch/x86/kvm/mmu/paging_tmpl.h:883:5: warning: no previous prototype for function 'ept_sync_spte'
@ 2023-03-18  8:00 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-03-18  8:00 UTC (permalink / raw)
  To: Ben Gardon; +Cc: llvm, oe-kbuild-all, Sean Christopherson

Hi Ben,

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

tree:   https://github.com/sean-jc/linux x86/formalize_shadow_mmu
head:   dd395c7174581183cd66020ac5a784bdf2e79cd1
commit: 6872b75e1974f3841e145f7d5b7edb63c053ff24 [30/39] KVM: x86/MMU: Clean up naming of exported Shadow MMU functions
config: x86_64-randconfig-a011-20230313 (https://download.01.org/0day-ci/archive/20230318/202303181506.qveHr3jp-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/sean-jc/linux/commit/6872b75e1974f3841e145f7d5b7edb63c053ff24
        git remote add sean-jc https://github.com/sean-jc/linux
        git fetch --no-tags sean-jc x86/formalize_shadow_mmu
        git checkout 6872b75e1974f3841e145f7d5b7edb63c053ff24
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kvm/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202303181506.qveHr3jp-lkp@intel.com/

All warnings (new ones prefixed by >>):

   arch/x86/kvm/mmu/shadow_mmu.c:50:8: error: redefinition of 'pte_list_desc'
   struct pte_list_desc {
          ^
   arch/x86/kvm/mmu/shadow_mmu.h:29:8: note: previous definition is here
   struct pte_list_desc {
          ^
   arch/x86/kvm/mmu/shadow_mmu.c:535:9: error: no member named 'tail_count' in 'struct pte_list_desc'
                   desc->tail_count = 0;
                   ~~~~  ^
   arch/x86/kvm/mmu/shadow_mmu.c:541:17: error: no member named 'tail_count' in 'struct pte_list_desc'
                   count = desc->tail_count + desc->spte_count;
                           ~~~~  ^
   arch/x86/kvm/mmu/shadow_mmu.c:551:10: error: no member named 'tail_count' in 'struct pte_list_desc'
                           desc->tail_count = count;
                           ~~~~  ^
   arch/x86/kvm/mmu/shadow_mmu.c:673:15: error: no member named 'tail_count' in 'struct pte_list_desc'
           return desc->tail_count + desc->spte_count;
                  ~~~~  ^
   arch/x86/kvm/mmu/shadow_mmu.c:811:3: error: implicit declaration of function 'kvm_flush_remote_tlbs_sptep' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                   kvm_flush_remote_tlbs_sptep(kvm, sptep);
                   ^
   arch/x86/kvm/mmu/shadow_mmu.c:905:13: error: static declaration of 'kvm_zap_rmap' follows non-static declaration
   static bool kvm_zap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
               ^
   arch/x86/kvm/mmu/shadow_mmu.h:46:6: note: previous declaration is here
   bool kvm_zap_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
        ^
   arch/x86/kvm/mmu/shadow_mmu.c:912:13: error: static declaration of 'kvm_set_pte_rmap' follows non-static declaration
   static bool kvm_set_pte_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
               ^
   arch/x86/kvm/mmu/shadow_mmu.h:49:6: note: previous declaration is here
   bool kvm_set_pte_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
        ^
   arch/x86/kvm/mmu/shadow_mmu.c:1025:29: error: static declaration of 'kvm_handle_gfn_range' follows non-static declaration
   static __always_inline bool kvm_handle_gfn_range(struct kvm *kvm,
                               ^
   arch/x86/kvm/mmu/shadow_mmu.h:56:6: note: previous declaration is here
   bool kvm_handle_gfn_range(struct kvm *kvm, struct kvm_gfn_range *range,
        ^
   arch/x86/kvm/mmu/shadow_mmu.c:1040:13: error: static declaration of 'kvm_age_rmap' follows non-static declaration
   static bool kvm_age_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
               ^
   arch/x86/kvm/mmu/shadow_mmu.h:59:6: note: previous declaration is here
   bool kvm_age_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
        ^
   arch/x86/kvm/mmu/shadow_mmu.c:1054:13: error: static declaration of 'kvm_test_age_rmap' follows non-static declaration
   static bool kvm_test_age_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
               ^
   arch/x86/kvm/mmu/shadow_mmu.h:62:6: note: previous declaration is here
   bool kvm_test_age_rmap(struct kvm *kvm, struct kvm_rmap_head *rmap_head,
        ^
   arch/x86/kvm/mmu/shadow_mmu.c:1294:13: error: static declaration of 'kvm_mmu_prepare_zap_page' follows non-static declaration
   static bool kvm_mmu_prepare_zap_page(struct kvm *kvm, struct kvm_mmu_page *sp,
               ^
   arch/x86/kvm/mmu/shadow_mmu.h:71:6: note: previous declaration is here
   bool kvm_mmu_prepare_zap_page(struct kvm *kvm, struct kvm_mmu_page *sp,
        ^
   arch/x86/kvm/mmu/shadow_mmu.c:1296:13: error: static declaration of 'kvm_mmu_commit_zap_page' follows non-static declaration
   static void kvm_mmu_commit_zap_page(struct kvm *kvm,
               ^
   arch/x86/kvm/mmu/shadow_mmu.h:73:6: note: previous declaration is here
   void kvm_mmu_commit_zap_page(struct kvm *kvm, struct list_head *invalid_list);
        ^
   arch/x86/kvm/mmu/shadow_mmu.c:1866:3: error: implicit declaration of function 'kvm_flush_remote_tlbs_sptep' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                   kvm_flush_remote_tlbs_sptep(vcpu->kvm, sptep);
                   ^
   arch/x86/kvm/mmu/shadow_mmu.c:1947:13: error: static declaration of '__kvm_mmu_prepare_zap_page' follows non-static declaration
   static bool __kvm_mmu_prepare_zap_page(struct kvm *kvm,
               ^
   arch/x86/kvm/mmu/shadow_mmu.h:68:6: note: previous declaration is here
   bool __kvm_mmu_prepare_zap_page(struct kvm *kvm, struct kvm_mmu_page *sp,
        ^
   arch/x86/kvm/mmu/shadow_mmu.c:2012:13: error: static declaration of 'kvm_mmu_prepare_zap_page' follows non-static declaration
   static bool kvm_mmu_prepare_zap_page(struct kvm *kvm, struct kvm_mmu_page *sp,
               ^
   arch/x86/kvm/mmu/shadow_mmu.h:71:6: note: previous declaration is here
   bool kvm_mmu_prepare_zap_page(struct kvm *kvm, struct kvm_mmu_page *sp,
        ^
   arch/x86/kvm/mmu/shadow_mmu.c:2021:13: error: static declaration of 'kvm_mmu_commit_zap_page' follows non-static declaration
   static void kvm_mmu_commit_zap_page(struct kvm *kvm,
               ^
   arch/x86/kvm/mmu/shadow_mmu.h:73:6: note: previous declaration is here
   void kvm_mmu_commit_zap_page(struct kvm *kvm, struct list_head *invalid_list);
        ^
   In file included from arch/x86/kvm/mmu/shadow_mmu.c:2961:
>> arch/x86/kvm/mmu/paging_tmpl.h:883:5: warning: no previous prototype for function 'ept_sync_spte' [-Wmissing-prototypes]
   int FNAME(sync_spte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, int i)
       ^
   arch/x86/kvm/mmu/paging_tmpl.h:54:22: note: expanded from macro 'FNAME'
           #define FNAME(name) ept_##name
                               ^
   <scratch space>:266:1: note: expanded from here
   ept_sync_spte
   ^
   arch/x86/kvm/mmu/paging_tmpl.h:883:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int FNAME(sync_spte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, int i)
   ^
   static 
   In file included from arch/x86/kvm/mmu/shadow_mmu.c:2965:
>> arch/x86/kvm/mmu/paging_tmpl.h:883:5: warning: no previous prototype for function 'paging64_sync_spte' [-Wmissing-prototypes]
   int FNAME(sync_spte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, int i)
       ^
   arch/x86/kvm/mmu/paging_tmpl.h:27:22: note: expanded from macro 'FNAME'
           #define FNAME(name) paging##64_##name
                               ^
   <scratch space>:194:1: note: expanded from here
   paging64_sync_spte
   ^
   arch/x86/kvm/mmu/paging_tmpl.h:883:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int FNAME(sync_spte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, int i)
   ^
   static 
   In file included from arch/x86/kvm/mmu/shadow_mmu.c:2969:
>> arch/x86/kvm/mmu/paging_tmpl.h:883:5: warning: no previous prototype for function 'paging32_sync_spte' [-Wmissing-prototypes]
   int FNAME(sync_spte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, int i)
       ^
   arch/x86/kvm/mmu/paging_tmpl.h:40:22: note: expanded from macro 'FNAME'
           #define FNAME(name) paging##32_##name
                               ^
   <scratch space>:114:1: note: expanded from here
   paging32_sync_spte
   ^
   arch/x86/kvm/mmu/paging_tmpl.h:883:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int FNAME(sync_spte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, int i)
   ^
   static 
   arch/x86/kvm/mmu/shadow_mmu.c:3204:29: error: static declaration of 'walk_slot_rmaps' follows non-static declaration
   static __always_inline bool walk_slot_rmaps(struct kvm *kvm,
                               ^
   arch/x86/kvm/mmu/shadow_mmu.h:96:6: note: previous declaration is here
   bool walk_slot_rmaps(struct kvm *kvm, const struct kvm_memory_slot *slot,
        ^
   arch/x86/kvm/mmu/shadow_mmu.c:3215:29: error: static declaration of 'walk_slot_rmaps_4k' follows non-static declaration
   static __always_inline bool walk_slot_rmaps_4k(struct kvm *kvm,
                               ^
   arch/x86/kvm/mmu/shadow_mmu.h:99:6: note: previous declaration is here
   bool walk_slot_rmaps_4k(struct kvm *kvm, const struct kvm_memory_slot *slot,
        ^
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   3 warnings and 20 errors generated.


vim +/ept_sync_spte +883 arch/x86/kvm/mmu/paging_tmpl.h

6539e738f65a8f arch/x86/kvm/paging_tmpl.h     Joerg Roedel        2010-09-10  871  
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  872  /*
6a97575d5cffb7 arch/x86/kvm/mmu/paging_tmpl.h David Matlack       2022-06-22  873   * Using the information in sp->shadowed_translation (kvm_mmu_page_get_gfn()) is
6a97575d5cffb7 arch/x86/kvm/mmu/paging_tmpl.h David Matlack       2022-06-22  874   * safe because:
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  875   * - The spte has a reference to the struct page, so the pfn for a given gfn
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  876   *   can't change unless all sptes pointing to it are nuked first.
c3e5e415bc1e6c arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2021-09-18  877   *
c3e5e415bc1e6c arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2021-09-18  878   * Returns
c3c6c9fc5d24bc arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  879   * < 0: failed to sync spte
c3c6c9fc5d24bc arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  880   *   0: the spte is synced and no tlb flushing is required
c3c6c9fc5d24bc arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  881   * > 0: the spte is synced and tlb flushing is required
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  882   */
47e60247f1c316 arch/x86/kvm/mmu/paging_tmpl.h Ben Gardon          2023-02-02 @883  int FNAME(sync_spte)(struct kvm_vcpu *vcpu, struct kvm_mmu_page *sp, int i)
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  884  {
9bdbba13b88688 arch/x86/kvm/paging_tmpl.h     Lai Jiangshan       2010-11-19  885  	bool host_writable;
51fb60d81b483a arch/x86/kvm/paging_tmpl.h     Gui Jianfeng        2010-04-16  886  	gpa_t first_pte_gpa;
4758d47e0d685c arch/x86/kvm/mmu/paging_tmpl.h Paolo Bonzini       2021-08-17  887  	u64 *sptep, spte;
53597858dbf8da arch/x86/kvm/mmu/paging_tmpl.h David Matlack       2021-08-17  888  	struct kvm_memory_slot *slot;
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  889  	unsigned pte_access;
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  890  	pt_element_t gpte;
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  891  	gpa_t pte_gpa;
f55c3f419ab1f0 arch/x86/kvm/paging_tmpl.h     Xiao Guangrong      2010-05-13  892  	gfn_t gfn;
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  893  
19ace7d6ca15a4 arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-17  894  	if (WARN_ON_ONCE(!sp->spt[i]))
c3c6c9fc5d24bc arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  895  		return 0;
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  896  
c3c6c9fc5d24bc arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  897  	first_pte_gpa = FNAME(get_level1_sp_gpa)(sp);
51fb60d81b483a arch/x86/kvm/paging_tmpl.h     Gui Jianfeng        2010-04-16  898  	pte_gpa = first_pte_gpa + i * sizeof(pt_element_t);
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  899  
54bf36aac52031 arch/x86/kvm/paging_tmpl.h     Paolo Bonzini       2015-04-08  900  	if (kvm_vcpu_read_guest_atomic(vcpu, pte_gpa, &gpte,
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  901  				       sizeof(pt_element_t)))
c3e5e415bc1e6c arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2021-09-18  902  		return -1;
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  903  
c3c6c9fc5d24bc arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  904  	if (FNAME(prefetch_invalid_gpte)(vcpu, sp, &sp->spt[i], gpte))
c3c6c9fc5d24bc arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  905  		return 1;
407c61c6bd6a51 arch/x86/kvm/paging_tmpl.h     Xiao Guangrong      2010-11-23  906  
ce88decffd17bf arch/x86/kvm/paging_tmpl.h     Xiao Guangrong      2011-07-12  907  	gfn = gpte_to_gfn(gpte);
ce88decffd17bf arch/x86/kvm/paging_tmpl.h     Xiao Guangrong      2011-07-12  908  	pte_access = sp->role.access;
42522d08cdba6d arch/x86/kvm/paging_tmpl.h     Peter Xu            2018-07-18  909  	pte_access &= FNAME(gpte_access)(gpte);
44dd3ffa7bb311 arch/x86/kvm/paging_tmpl.h     Vitaly Kuznetsov    2018-10-08  910  	FNAME(protect_clean_gpte)(vcpu->arch.mmu, &pte_access, gpte);
ce88decffd17bf arch/x86/kvm/paging_tmpl.h     Xiao Guangrong      2011-07-12  911  
c3e5e415bc1e6c arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2021-09-18  912  	if (sync_mmio_spte(vcpu, &sp->spt[i], gfn, pte_access))
c3c6c9fc5d24bc arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  913  		return 0;
ce88decffd17bf arch/x86/kvm/paging_tmpl.h     Xiao Guangrong      2011-07-12  914  
9fb3565743d583 arch/x86/kvm/mmu/paging_tmpl.h Sean Christopherson 2022-05-13  915  	/*
9fb3565743d583 arch/x86/kvm/mmu/paging_tmpl.h Sean Christopherson 2022-05-13  916  	 * Drop the SPTE if the new protections would result in a RWX=0
9fb3565743d583 arch/x86/kvm/mmu/paging_tmpl.h Sean Christopherson 2022-05-13  917  	 * SPTE or if the gfn is changing.  The RWX=0 case only affects
9fb3565743d583 arch/x86/kvm/mmu/paging_tmpl.h Sean Christopherson 2022-05-13  918  	 * EPT with execute-only support, i.e. EPT without an effective
9fb3565743d583 arch/x86/kvm/mmu/paging_tmpl.h Sean Christopherson 2022-05-13  919  	 * "present" bit, as all other paging modes will create a
9fb3565743d583 arch/x86/kvm/mmu/paging_tmpl.h Sean Christopherson 2022-05-13  920  	 * read-only SPTE if pte_access is zero.
9fb3565743d583 arch/x86/kvm/mmu/paging_tmpl.h Sean Christopherson 2022-05-13  921  	 */
6a97575d5cffb7 arch/x86/kvm/mmu/paging_tmpl.h David Matlack       2022-06-22  922  	if ((!pte_access && !shadow_present_mask) ||
6a97575d5cffb7 arch/x86/kvm/mmu/paging_tmpl.h David Matlack       2022-06-22  923  	    gfn != kvm_mmu_page_get_gfn(sp, i)) {
c37079586f317d arch/x86/kvm/paging_tmpl.h     Xiao Guangrong      2011-07-12  924  		drop_spte(vcpu->kvm, &sp->spt[i]);
c3c6c9fc5d24bc arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  925  		return 1;
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  926  	}
e6722d9211b2aa arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  927  	/*
e6722d9211b2aa arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  928  	 * Do nothing if the permissions are unchanged.  The existing SPTE is
e6722d9211b2aa arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  929  	 * still, and prefetch_invalid_gpte() has verified that the A/D bits
e6722d9211b2aa arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  930  	 * are set in the "new" gPTE, i.e. there is no danger of missing an A/D
e6722d9211b2aa arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  931  	 * update due to A/D bits being set in the SPTE but not the gPTE.
e6722d9211b2aa arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  932  	 */
e6722d9211b2aa arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  933  	if (kvm_mmu_page_get_access(sp, i) == pte_access)
e6722d9211b2aa arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  934  		return 0;
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  935  
6a97575d5cffb7 arch/x86/kvm/mmu/paging_tmpl.h David Matlack       2022-06-22  936  	/* Update the shadowed access bits in case they changed. */
6a97575d5cffb7 arch/x86/kvm/mmu/paging_tmpl.h David Matlack       2022-06-22  937  	kvm_mmu_page_set_access(sp, i, pte_access);
6a97575d5cffb7 arch/x86/kvm/mmu/paging_tmpl.h David Matlack       2022-06-22  938  
4758d47e0d685c arch/x86/kvm/mmu/paging_tmpl.h Paolo Bonzini       2021-08-17  939  	sptep = &sp->spt[i];
4758d47e0d685c arch/x86/kvm/mmu/paging_tmpl.h Paolo Bonzini       2021-08-17  940  	spte = *sptep;
4758d47e0d685c arch/x86/kvm/mmu/paging_tmpl.h Paolo Bonzini       2021-08-17  941  	host_writable = spte & shadow_host_writable_mask;
53597858dbf8da arch/x86/kvm/mmu/paging_tmpl.h David Matlack       2021-08-17  942  	slot = kvm_vcpu_gfn_to_memslot(vcpu, gfn);
53597858dbf8da arch/x86/kvm/mmu/paging_tmpl.h David Matlack       2021-08-17  943  	make_spte(vcpu, sp, slot, pte_access, gfn,
4758d47e0d685c arch/x86/kvm/mmu/paging_tmpl.h Paolo Bonzini       2021-08-17  944  		  spte_to_pfn(spte), spte, true, false,
7158bee4b47519 arch/x86/kvm/mmu/paging_tmpl.h Paolo Bonzini       2021-08-17  945  		  host_writable, &spte);
f8e453b00cf1d9 arch/x86/kvm/paging_tmpl.h     Xiao Guangrong      2010-12-23  946  
c3c6c9fc5d24bc arch/x86/kvm/mmu/paging_tmpl.h Lai Jiangshan       2023-02-16  947  	return mmu_spte_update(sptep, spte);
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  948  }
e8bc217aef67d4 arch/x86/kvm/paging_tmpl.h     Marcelo Tosatti     2008-09-23  949  

:::::: The code at line 883 was first introduced by commit
:::::: 47e60247f1c316484333b71439780fd37a2c1014 KVM: x86/MMU: Move paging_tmpl.h includes to shadow_mmu.c

:::::: TO: Ben Gardon <bgardon@google.com>
:::::: CC: Sean Christopherson <seanjc@google.com>

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-03-18  8:00 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-18  8:00 [sean-jc:x86/formalize_shadow_mmu 30/39] arch/x86/kvm/mmu/paging_tmpl.h:883:5: warning: no previous prototype for function 'ept_sync_spte' kernel test robot

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.