diff mbox series

KVM: VMX: Do not account for temporary memory allocation in ECREATE emulation

Message ID 20240715101224.90958-1-kai.huang@intel.com (mailing list archive)
State New, archived
Headers show
Series KVM: VMX: Do not account for temporary memory allocation in ECREATE emulation | expand

Commit Message

Huang, Kai July 15, 2024, 10:12 a.m. UTC
In handle_encls_ecreate(), a page is allocated to store a copy of SECS
structure used by the ENCLS[ECREATE] leaf from the guest.  This page is
only used temporarily and is freed after use in handle_encls_ecreate().

Don't account for the memory allocation of this page per [1].

Link: https://lore.kernel.org/kvm/b999afeb588eb75d990891855bc6d58861968f23.camel@intel.com/T/#mb81987afc3ab308bbb5861681aa9a20f2aece7fd [1]
Signed-off-by: Kai Huang <kai.huang@intel.com>
---
 arch/x86/kvm/vmx/sgx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


base-commit: c8b8b8190a80b591aa73c27c70a668799f8db547

Comments

Sean Christopherson Aug. 23, 2024, 11:48 p.m. UTC | #1
On Mon, 15 Jul 2024 22:12:24 +1200, Kai Huang wrote:
> In handle_encls_ecreate(), a page is allocated to store a copy of SECS
> structure used by the ENCLS[ECREATE] leaf from the guest.  This page is
> only used temporarily and is freed after use in handle_encls_ecreate().
> 
> Don't account for the memory allocation of this page per [1].
> 
> 
> [...]

Applied to kvm-x86 vmx, thanks!

[1/1] KVM: VMX: Do not account for temporary memory allocation in ECREATE emulation
      https://github.com/kvm-x86/linux/commit/d9aa56edad35

--
https://github.com/kvm-x86/linux/tree/next
diff mbox series

Patch

diff --git a/arch/x86/kvm/vmx/sgx.c b/arch/x86/kvm/vmx/sgx.c
index 6fef01e0536e..a3c3d2a51f47 100644
--- a/arch/x86/kvm/vmx/sgx.c
+++ b/arch/x86/kvm/vmx/sgx.c
@@ -274,7 +274,7 @@  static int handle_encls_ecreate(struct kvm_vcpu *vcpu)
 	 * simultaneously set SGX_ATTR_PROVISIONKEY to bypass the check to
 	 * enforce restriction of access to the PROVISIONKEY.
 	 */
-	contents = (struct sgx_secs *)__get_free_page(GFP_KERNEL_ACCOUNT);
+	contents = (struct sgx_secs *)__get_free_page(GFP_KERNEL);
 	if (!contents)
 		return -ENOMEM;