]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
KVM: VMX: Do not account for temporary memory allocation in ECREATE emulation
authorKai Huang <kai.huang@intel.com>
Mon, 15 Jul 2024 10:12:24 +0000 (22:12 +1200)
committerSean Christopherson <seanjc@google.com>
Thu, 22 Aug 2024 18:35:15 +0000 (11:35 -0700)
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
Signed-off-by: Kai Huang <kai.huang@intel.com>
Link: https://lore.kernel.org/r/20240715101224.90958-1-kai.huang@intel.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/kvm/vmx/sgx.c

index 6fef01e0536e5079c34e6efc6b64716119c10c4e..a3c3d2a51f47d1c485b87e37b65c74fe693a5070 100644 (file)
@@ -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;