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

Kai Huang posted 1 patch 1 year, 5 months ago
arch/x86/kvm/vmx/sgx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] KVM: VMX: Do not account for temporary memory allocation in ECREATE emulation
Posted by Kai Huang 1 year, 5 months ago
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(-)

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;
 

base-commit: c8b8b8190a80b591aa73c27c70a668799f8db547
-- 
2.45.2
Re: [PATCH] KVM: VMX: Do not account for temporary memory allocation in ECREATE emulation
Posted by Sean Christopherson 1 year, 3 months ago
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