]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/tdx: Drop exported function tdx_quirk_reset_page()
authorYan Zhao <yan.y.zhao@intel.com>
Thu, 30 Apr 2026 01:50:01 +0000 (09:50 +0800)
committerSean Christopherson <seanjc@google.com>
Tue, 26 May 2026 21:50:22 +0000 (14:50 -0700)
KVM invokes tdx_quirk_reset_page() to reset TDX control pages (including
S-EPT pages, TDR page, etc.), as all those pages are allocated by KVM TDX
and thus always have struct page.

However, it's also reasonable for KVM to reset those TDX control pages via
tdx_quirk_reset_paddr() directly, eliminating the need to export two
parallel APIs. Keeping tdx_quirk_reset_page() as a one-line helper in the
header file is also unnecessary.

No functional change intended.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Suggested-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Yan Zhao <yan.y.zhao@intel.com>
Acked-by: Kiryl Shutsemau <kas@kernel.org>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Reviewed-by: Ackerley Tng <ackerleytng@google.com>
Acked-by: Dave Hansen <dave.hansen@linux.intel.com>
Link: https://patch.msgid.link/20260430015001.24242-1-yan.y.zhao@intel.com
Signed-off-by: Sean Christopherson <seanjc@google.com>
arch/x86/include/asm/tdx.h
arch/x86/kvm/vmx/tdx.c
arch/x86/virt/vmx/tdx/tdx.c

index 046060ef44c74499f231d62660748d3a2b1be9a0..1a83ef88af1776ddb6c8d54f0299e9e2329a0689 100644 (file)
@@ -153,7 +153,6 @@ int tdx_guest_keyid_alloc(void);
 u32 tdx_get_nr_guest_keyids(void);
 void tdx_guest_keyid_free(unsigned int keyid);
 
-void tdx_quirk_reset_page(struct page *page);
 void tdx_quirk_reset_paddr(unsigned long base, unsigned long size);
 
 struct tdx_td {
index d8ed1d3b7252ecc7cf87838fced5864f766f5867..3f956dde4a516be86e581353177f44a78869d3aa 100644 (file)
@@ -343,7 +343,7 @@ static int tdx_reclaim_page(struct page *page)
 
        r = __tdx_reclaim_page(page);
        if (!r)
-               tdx_quirk_reset_page(page);
+               tdx_quirk_reset_paddr(page_to_phys(page), PAGE_SIZE);
        return r;
 }
 
@@ -597,7 +597,7 @@ static void tdx_reclaim_td_control_pages(struct kvm *kvm)
        if (TDX_BUG_ON(err, TDH_PHYMEM_PAGE_WBINVD, kvm))
                return;
 
-       tdx_quirk_reset_page(kvm_tdx->td.tdr_page);
+       tdx_quirk_reset_paddr(page_to_phys(kvm_tdx->td.tdr_page), PAGE_SIZE);
 
        __free_page(kvm_tdx->td.tdr_page);
        kvm_tdx->td.tdr_page = NULL;
index e5a37ea2d4a0de82e7ad070a30b4248719b12694..deb67e68f85fde92782f3d8196cfeb24ad039c93 100644 (file)
@@ -731,12 +731,6 @@ void tdx_quirk_reset_paddr(unsigned long base, unsigned long size)
 }
 EXPORT_SYMBOL_FOR_KVM(tdx_quirk_reset_paddr);
 
-void tdx_quirk_reset_page(struct page *page)
-{
-       tdx_quirk_reset_paddr(page_to_phys(page), PAGE_SIZE);
-}
-EXPORT_SYMBOL_FOR_KVM(tdx_quirk_reset_page);
-
 static __init void tdmr_quirk_reset_pamt(struct tdmr_info *tdmr)
 
 {