From: kernel test robot <lkp@intel.com> To: oe-kbuild@lists.linux.dev Cc: lkp@intel.com Subject: Re: [RFC PATCH v2 10/19] KVM: x86: Implement per-guest-page permissions Date: Mon, 13 Nov 2023 20:37:30 +0800 [thread overview] Message-ID: <202311132003.c5QKfbEI-lkp@intel.com> (raw) :::::: :::::: Manual check reason: "has kconfig file changed" :::::: BCC: lkp@intel.com CC: oe-kbuild-all@lists.linux.dev In-Reply-To: <20231113022326.24388-11-mic@digikod.net> References: <20231113022326.24388-11-mic@digikod.net> TO: "Mickaël Salaün" <mic@digikod.net> Hi Mickaël, [This is a private test report for your RFC patch.] kernel test robot noticed the following build errors: [auto build test ERROR on 881375a408c0f4ea451ff14545b59216d2923881] url: https://github.com/intel-lab-lkp/linux/commits/Micka-l-Sala-n/virt-Introduce-Hypervisor-Enforced-Kernel-Integrity-Heki/20231113-102847 base: 881375a408c0f4ea451ff14545b59216d2923881 patch link: https://lore.kernel.org/r/20231113022326.24388-11-mic%40digikod.net patch subject: [RFC PATCH v2 10/19] KVM: x86: Implement per-guest-page permissions :::::: branch date: 10 hours ago :::::: commit date: 10 hours ago config: x86_64-randconfig-013-20231113 (https://download.01.org/0day-ci/archive/20231113/202311132003.c5QKfbEI-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/20231113/202311132003.c5QKfbEI-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/r/202311132003.c5QKfbEI-lkp@intel.com/ All errors (new ones prefixed by >>): arch/x86/kvm/../../../virt/lib/kvm_permissions.c: In function 'kvm_permissions_get': >> arch/x86/kvm/../../../virt/lib/kvm_permissions.c:74:20: error: implicit declaration of function 'kvm_get_memory_attributes' [-Werror=implicit-function-declaration] 74 | kvm_attr = kvm_get_memory_attributes(kvm, gfn); | ^~~~~~~~~~~~~~~~~~~~~~~~~ arch/x86/kvm/../../../virt/lib/kvm_permissions.c: In function 'kvm_permissions_set': >> arch/x86/kvm/../../../virt/lib/kvm_permissions.c:91:13: error: implicit declaration of function 'kvm_range_has_memory_attributes'; did you mean 'kvm_mmu_init_memslot_memory_attributes'? [-Werror=implicit-function-declaration] 91 | if (kvm_range_has_memory_attributes(kvm, gfn_start, gfn_end, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | kvm_mmu_init_memslot_memory_attributes >> arch/x86/kvm/../../../virt/lib/kvm_permissions.c:100:16: error: implicit declaration of function 'kvm_vm_set_mem_attributes' [-Werror=implicit-function-declaration] 100 | return kvm_vm_set_mem_attributes(kvm, gfn_start, gfn_end, | ^~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/kvm_get_memory_attributes +74 arch/x86/kvm/../../../virt/lib/kvm_permissions.c e677181e18929a Mickaël Salaün 2023-11-12 63 e677181e18929a Mickaël Salaün 2023-11-12 64 unsigned long kvm_permissions_get(struct kvm *kvm, gfn_t gfn) e677181e18929a Mickaël Salaün 2023-11-12 65 { e677181e18929a Mickaël Salaün 2023-11-12 66 unsigned long kvm_attr = 0; e677181e18929a Mickaël Salaün 2023-11-12 67 e677181e18929a Mickaël Salaün 2023-11-12 68 /* e677181e18929a Mickaël Salaün 2023-11-12 69 * Retrieve the permissions for a guest page. If not present (i.e., no e677181e18929a Mickaël Salaün 2023-11-12 70 * attribute), then return default permissions (RWX). This means e677181e18929a Mickaël Salaün 2023-11-12 71 * setting permissions to 0 resets them to RWX. We might want to e677181e18929a Mickaël Salaün 2023-11-12 72 * revisit that in a future version. e677181e18929a Mickaël Salaün 2023-11-12 73 */ e677181e18929a Mickaël Salaün 2023-11-12 @74 kvm_attr = kvm_get_memory_attributes(kvm, gfn); e677181e18929a Mickaël Salaün 2023-11-12 75 if (kvm_attr) e677181e18929a Mickaël Salaün 2023-11-12 76 return kvm_attr_to_heki_attr(kvm_attr); e677181e18929a Mickaël Salaün 2023-11-12 77 else e677181e18929a Mickaël Salaün 2023-11-12 78 return kvm_default_permissions; e677181e18929a Mickaël Salaün 2023-11-12 79 } e677181e18929a Mickaël Salaün 2023-11-12 80 EXPORT_SYMBOL_GPL(kvm_permissions_get); e677181e18929a Mickaël Salaün 2023-11-12 81 e677181e18929a Mickaël Salaün 2023-11-12 82 int kvm_permissions_set(struct kvm *kvm, gfn_t gfn_start, gfn_t gfn_end, e677181e18929a Mickaël Salaün 2023-11-12 83 unsigned long heki_attr) e677181e18929a Mickaël Salaün 2023-11-12 84 { e677181e18929a Mickaël Salaün 2023-11-12 85 if ((heki_attr | MEM_ATTR_PROT) != MEM_ATTR_PROT) e677181e18929a Mickaël Salaün 2023-11-12 86 return -EINVAL; e677181e18929a Mickaël Salaün 2023-11-12 87 e677181e18929a Mickaël Salaün 2023-11-12 88 if (gfn_end <= gfn_start) e677181e18929a Mickaël Salaün 2023-11-12 89 return -EINVAL; e677181e18929a Mickaël Salaün 2023-11-12 90 e677181e18929a Mickaël Salaün 2023-11-12 @91 if (kvm_range_has_memory_attributes(kvm, gfn_start, gfn_end, e677181e18929a Mickaël Salaün 2023-11-12 92 KVM_MEMORY_ATTRIBUTE_HEKI_IMMUTABLE, e677181e18929a Mickaël Salaün 2023-11-12 93 false)) { e677181e18929a Mickaël Salaün 2023-11-12 94 pr_warn_ratelimited( e677181e18929a Mickaël Salaün 2023-11-12 95 "Guest tried to change immutable permission for GFNs %llx-%llx\n", e677181e18929a Mickaël Salaün 2023-11-12 96 gfn_start, gfn_end); e677181e18929a Mickaël Salaün 2023-11-12 97 return -EPERM; e677181e18929a Mickaël Salaün 2023-11-12 98 } e677181e18929a Mickaël Salaün 2023-11-12 99 e677181e18929a Mickaël Salaün 2023-11-12 @100 return kvm_vm_set_mem_attributes(kvm, gfn_start, gfn_end, -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <yujie.liu@intel.com> To: "Mickaël Salaün" <mic@digikod.net> Cc: <oe-kbuild-all@lists.linux.dev> Subject: Re: [RFC PATCH v2 10/19] KVM: x86: Implement per-guest-page permissions Date: Tue, 14 Nov 2023 09:29:20 +0800 [thread overview] Message-ID: <202311132003.c5QKfbEI-lkp@intel.com> (raw) In-Reply-To: <20231113022326.24388-11-mic@digikod.net> Hi Mickaël, [This is a private test report for your RFC patch.] kernel test robot noticed the following build errors: [auto build test ERROR on 881375a408c0f4ea451ff14545b59216d2923881] url: https://github.com/intel-lab-lkp/linux/commits/Micka-l-Sala-n/virt-Introduce-Hypervisor-Enforced-Kernel-Integrity-Heki/20231113-102847 base: 881375a408c0f4ea451ff14545b59216d2923881 patch link: https://lore.kernel.org/r/20231113022326.24388-11-mic%40digikod.net patch subject: [RFC PATCH v2 10/19] KVM: x86: Implement per-guest-page permissions config: x86_64-randconfig-013-20231113 (https://download.01.org/0day-ci/archive/20231113/202311132003.c5QKfbEI-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/20231113/202311132003.c5QKfbEI-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 <yujie.liu@intel.com> | Closes: https://lore.kernel.org/r/202311132003.c5QKfbEI-lkp@intel.com/ All errors (new ones prefixed by >>): arch/x86/kvm/../../../virt/lib/kvm_permissions.c: In function 'kvm_permissions_get': >> arch/x86/kvm/../../../virt/lib/kvm_permissions.c:74:20: error: implicit declaration of function 'kvm_get_memory_attributes' [-Werror=implicit-function-declaration] 74 | kvm_attr = kvm_get_memory_attributes(kvm, gfn); | ^~~~~~~~~~~~~~~~~~~~~~~~~ arch/x86/kvm/../../../virt/lib/kvm_permissions.c: In function 'kvm_permissions_set': >> arch/x86/kvm/../../../virt/lib/kvm_permissions.c:91:13: error: implicit declaration of function 'kvm_range_has_memory_attributes'; did you mean 'kvm_mmu_init_memslot_memory_attributes'? [-Werror=implicit-function-declaration] 91 | if (kvm_range_has_memory_attributes(kvm, gfn_start, gfn_end, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | kvm_mmu_init_memslot_memory_attributes >> arch/x86/kvm/../../../virt/lib/kvm_permissions.c:100:16: error: implicit declaration of function 'kvm_vm_set_mem_attributes' [-Werror=implicit-function-declaration] 100 | return kvm_vm_set_mem_attributes(kvm, gfn_start, gfn_end, | ^~~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/kvm_get_memory_attributes +74 arch/x86/kvm/../../../virt/lib/kvm_permissions.c e677181e18929a Mickaël Salaün 2023-11-12 63 e677181e18929a Mickaël Salaün 2023-11-12 64 unsigned long kvm_permissions_get(struct kvm *kvm, gfn_t gfn) e677181e18929a Mickaël Salaün 2023-11-12 65 { e677181e18929a Mickaël Salaün 2023-11-12 66 unsigned long kvm_attr = 0; e677181e18929a Mickaël Salaün 2023-11-12 67 e677181e18929a Mickaël Salaün 2023-11-12 68 /* e677181e18929a Mickaël Salaün 2023-11-12 69 * Retrieve the permissions for a guest page. If not present (i.e., no e677181e18929a Mickaël Salaün 2023-11-12 70 * attribute), then return default permissions (RWX). This means e677181e18929a Mickaël Salaün 2023-11-12 71 * setting permissions to 0 resets them to RWX. We might want to e677181e18929a Mickaël Salaün 2023-11-12 72 * revisit that in a future version. e677181e18929a Mickaël Salaün 2023-11-12 73 */ e677181e18929a Mickaël Salaün 2023-11-12 @74 kvm_attr = kvm_get_memory_attributes(kvm, gfn); e677181e18929a Mickaël Salaün 2023-11-12 75 if (kvm_attr) e677181e18929a Mickaël Salaün 2023-11-12 76 return kvm_attr_to_heki_attr(kvm_attr); e677181e18929a Mickaël Salaün 2023-11-12 77 else e677181e18929a Mickaël Salaün 2023-11-12 78 return kvm_default_permissions; e677181e18929a Mickaël Salaün 2023-11-12 79 } e677181e18929a Mickaël Salaün 2023-11-12 80 EXPORT_SYMBOL_GPL(kvm_permissions_get); e677181e18929a Mickaël Salaün 2023-11-12 81 e677181e18929a Mickaël Salaün 2023-11-12 82 int kvm_permissions_set(struct kvm *kvm, gfn_t gfn_start, gfn_t gfn_end, e677181e18929a Mickaël Salaün 2023-11-12 83 unsigned long heki_attr) e677181e18929a Mickaël Salaün 2023-11-12 84 { e677181e18929a Mickaël Salaün 2023-11-12 85 if ((heki_attr | MEM_ATTR_PROT) != MEM_ATTR_PROT) e677181e18929a Mickaël Salaün 2023-11-12 86 return -EINVAL; e677181e18929a Mickaël Salaün 2023-11-12 87 e677181e18929a Mickaël Salaün 2023-11-12 88 if (gfn_end <= gfn_start) e677181e18929a Mickaël Salaün 2023-11-12 89 return -EINVAL; e677181e18929a Mickaël Salaün 2023-11-12 90 e677181e18929a Mickaël Salaün 2023-11-12 @91 if (kvm_range_has_memory_attributes(kvm, gfn_start, gfn_end, e677181e18929a Mickaël Salaün 2023-11-12 92 KVM_MEMORY_ATTRIBUTE_HEKI_IMMUTABLE, e677181e18929a Mickaël Salaün 2023-11-12 93 false)) { e677181e18929a Mickaël Salaün 2023-11-12 94 pr_warn_ratelimited( e677181e18929a Mickaël Salaün 2023-11-12 95 "Guest tried to change immutable permission for GFNs %llx-%llx\n", e677181e18929a Mickaël Salaün 2023-11-12 96 gfn_start, gfn_end); e677181e18929a Mickaël Salaün 2023-11-12 97 return -EPERM; e677181e18929a Mickaël Salaün 2023-11-12 98 } e677181e18929a Mickaël Salaün 2023-11-12 99 e677181e18929a Mickaël Salaün 2023-11-12 @100 return kvm_vm_set_mem_attributes(kvm, gfn_start, gfn_end, -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2023-11-13 12:38 UTC|newest] Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top 2023-11-13 12:37 kernel test robot [this message] 2023-11-14 1:29 ` [RFC PATCH v2 10/19] KVM: x86: Implement per-guest-page permissions kernel test robot -- strict thread matches above, loose matches on Subject: below -- 2023-11-13 8:14 [RFC PATCH v2 18/19] heki: x86: Protect guest kernel memory using the KVM hypervisor kernel test robot 2023-11-14 1:30 ` kernel test robot 2023-11-13 7:42 [RFC PATCH v2 10/19] KVM: x86: Implement per-guest-page permissions kernel test robot 2023-11-14 1:27 ` kernel test robot 2023-11-13 5:18 [RFC PATCH v2 14/19] heki: x86: Initialize permissions counters for pages mapped into KVA kernel test robot 2023-11-14 1:22 ` kernel test robot 2023-11-13 2:23 [RFC PATCH v2 00/19] Hypervisor-Enforced Kernel Integrity Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 01/19] virt: Introduce Hypervisor Enforced Kernel Integrity (Heki) Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 02/19] KVM: x86: Add new hypercall to lock control registers Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 03/19] KVM: x86: Add notifications for Heki policy configuration and violation Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 04/19] heki: Lock guest control registers at the end of guest kernel init Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 05/19] KVM: VMX: Add MBEC support Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 06/19] KVM: x86: Add kvm_x86_ops.fault_gva() Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 07/19] KVM: x86: Make memory attribute helpers more generic Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 08/19] KVM: x86: Extend kvm_vm_set_mem_attributes() with a mask Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 09/19] KVM: x86: Extend kvm_range_has_memory_attributes() with match_all Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 10/19] KVM: x86: Implement per-guest-page permissions Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 11/19] KVM: x86: Add new hypercall to set EPT permissions Mickaël Salaün 2023-11-13 4:45 ` kernel test robot 2023-11-13 2:23 ` [RFC PATCH v2 12/19] x86: Implement the Memory Table feature to store arbitrary per-page data Mickaël Salaün 2023-11-22 7:19 ` kernel test robot 2023-11-13 2:23 ` [RFC PATCH v2 13/19] heki: Implement a kernel page table walker Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 14/19] heki: x86: Initialize permissions counters for pages mapped into KVA Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 15/19] heki: x86: Initialize permissions counters for pages in vmap()/vunmap() Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 16/19] heki: x86: Update permissions counters when guest page permissions change Mickaël Salaün 2023-11-13 2:23 ` [RFC PATCH v2 17/19] heki: x86: Update permissions counters during text patching Mickaël Salaün 2023-11-13 8:19 ` Peter Zijlstra 2023-11-27 16:48 ` Madhavan T. Venkataraman 2023-11-27 20:08 ` Peter Zijlstra 2023-11-29 21:07 ` Madhavan T. Venkataraman 2023-11-30 11:33 ` Peter Zijlstra 2023-12-06 16:37 ` Madhavan T. Venkataraman 2023-12-06 18:51 ` Peter Zijlstra 2023-12-08 18:41 ` Madhavan T. Venkataraman 2023-12-01 0:45 ` Edgecombe, Rick P 2023-12-06 16:41 ` Madhavan T. Venkataraman 2023-11-13 2:23 ` [RFC PATCH v2 18/19] heki: x86: Protect guest kernel memory using the KVM hypervisor Mickaël Salaün 2023-11-13 8:54 ` Peter Zijlstra 2023-11-27 17:05 ` Madhavan T. Venkataraman 2023-11-27 20:03 ` Peter Zijlstra 2023-11-29 19:47 ` Madhavan T. Venkataraman 2023-11-13 2:23 ` [RFC PATCH v2 19/19] virt: Add Heki KUnit tests Mickaël Salaün
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=202311132003.c5QKfbEI-lkp@intel.com \ --to=lkp@intel.com \ --cc=oe-kbuild@lists.linux.dev \ /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: linkBe 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.