[SRU][N:gcp-6.14][PATCH 1/2] UBUNTU: SAUCE: Revert "x86/mtrr: Rename mtrr_overwrite_state() to guest_force_mtrr_state()"
Tim Whisonant
tim.whisonant at canonical.com
Wed Jul 9 23:14:24 UTC 2025
BugLink: https://bugs.launchpad.net/bugs/2116287
This reverts commit 6a5abeea9c72e1d2c538622b4cf66c80cc816fd3.
Google requests that this commit be removed from 6.14 kernels,
namely plucky:linux-gcp and noble:linux-gcp-6.14. This commit
along with 8e690b817e38769dc2fa0e7473e5a5dc1fc25795
("x86/kvm: Override default caching mode for SEV-SNP and TDX")
are responsible for a TPM failure encountered on their TDX-enabled
deployments. When present, error message "TPM fail - No TPM chip
found" is observed during boot and the TPM is not available.
(revert commit 6a5abeea9c72e1d2c538622b4cf66c80cc816fd3)
Signed-off-by: Tim Whisonant <tim.whisonant at canonical.com>
---
arch/x86/hyperv/ivm.c | 2 +-
arch/x86/include/asm/mtrr.h | 10 +++++-----
arch/x86/kernel/cpu/mtrr/generic.c | 6 +++---
arch/x86/kernel/cpu/mtrr/mtrr.c | 2 +-
arch/x86/kernel/kvm.c | 2 +-
arch/x86/xen/enlighten_pv.c | 4 ++--
6 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index 77bf05f06b9e..ba74c7309103 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -662,7 +662,7 @@ void __init hv_vtom_init(void)
x86_platform.guest.enc_status_change_finish = hv_vtom_set_host_visibility;
/* Set WB as the default cache mode. */
- guest_force_mtrr_state(NULL, 0, MTRR_TYPE_WRBACK);
+ mtrr_overwrite_state(NULL, 0, MTRR_TYPE_WRBACK);
}
#endif /* defined(CONFIG_AMD_MEM_ENCRYPT) || defined(CONFIG_INTEL_TDX_GUEST) */
diff --git a/arch/x86/include/asm/mtrr.h b/arch/x86/include/asm/mtrr.h
index c69e269937c5..4218248083d9 100644
--- a/arch/x86/include/asm/mtrr.h
+++ b/arch/x86/include/asm/mtrr.h
@@ -58,8 +58,8 @@ struct mtrr_state_type {
*/
# ifdef CONFIG_MTRR
void mtrr_bp_init(void);
-void guest_force_mtrr_state(struct mtrr_var_range *var, unsigned int num_var,
- mtrr_type def_type);
+void mtrr_overwrite_state(struct mtrr_var_range *var, unsigned int num_var,
+ mtrr_type def_type);
extern u8 mtrr_type_lookup(u64 addr, u64 end, u8 *uniform);
extern void mtrr_save_fixed_ranges(void *);
extern void mtrr_save_state(void);
@@ -75,9 +75,9 @@ void mtrr_disable(void);
void mtrr_enable(void);
void mtrr_generic_set_state(void);
# else
-static inline void guest_force_mtrr_state(struct mtrr_var_range *var,
- unsigned int num_var,
- mtrr_type def_type)
+static inline void mtrr_overwrite_state(struct mtrr_var_range *var,
+ unsigned int num_var,
+ mtrr_type def_type)
{
}
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
index 2fdfda2b60e4..7b29ebda024f 100644
--- a/arch/x86/kernel/cpu/mtrr/generic.c
+++ b/arch/x86/kernel/cpu/mtrr/generic.c
@@ -423,7 +423,7 @@ void __init mtrr_copy_map(void)
}
/**
- * guest_force_mtrr_state - set static MTRR state for a guest
+ * mtrr_overwrite_state - set static MTRR state
*
* Used to set MTRR state via different means (e.g. with data obtained from
* a hypervisor).
@@ -436,8 +436,8 @@ void __init mtrr_copy_map(void)
* @num_var: length of the @var array
* @def_type: default caching type
*/
-void guest_force_mtrr_state(struct mtrr_var_range *var, unsigned int num_var,
- mtrr_type def_type)
+void mtrr_overwrite_state(struct mtrr_var_range *var, unsigned int num_var,
+ mtrr_type def_type)
{
unsigned int i;
diff --git a/arch/x86/kernel/cpu/mtrr/mtrr.c b/arch/x86/kernel/cpu/mtrr/mtrr.c
index ecbda0341a8a..989d368be04f 100644
--- a/arch/x86/kernel/cpu/mtrr/mtrr.c
+++ b/arch/x86/kernel/cpu/mtrr/mtrr.c
@@ -625,7 +625,7 @@ void mtrr_save_state(void)
static int __init mtrr_init_finalize(void)
{
/*
- * Map might exist if guest_force_mtrr_state() has been called or if
+ * Map might exist if mtrr_overwrite_state() has been called or if
* mtrr_enabled() returns true.
*/
mtrr_copy_map();
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 7a422a6c5983..21e9e4845354 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -983,7 +983,7 @@ static void __init kvm_init_platform(void)
x86_platform.apic_post_init = kvm_apic_init;
/* Set WB as the default cache mode for SEV-SNP and TDX */
- guest_force_mtrr_state(NULL, 0, MTRR_TYPE_WRBACK);
+ mtrr_overwrite_state(NULL, 0, MTRR_TYPE_WRBACK);
}
#if defined(CONFIG_AMD_MEM_ENCRYPT)
diff --git a/arch/x86/xen/enlighten_pv.c b/arch/x86/xen/enlighten_pv.c
index 5e57835e999d..ee829c136d09 100644
--- a/arch/x86/xen/enlighten_pv.c
+++ b/arch/x86/xen/enlighten_pv.c
@@ -172,7 +172,7 @@ static void __init xen_set_mtrr_data(void)
/* Only overwrite MTRR state if any MTRR could be got from Xen. */
if (reg)
- guest_force_mtrr_state(var, reg, MTRR_TYPE_UNCACHABLE);
+ mtrr_overwrite_state(var, reg, MTRR_TYPE_UNCACHABLE);
#endif
}
@@ -196,7 +196,7 @@ static void __init xen_pv_init_platform(void)
if (xen_initial_domain())
xen_set_mtrr_data();
else
- guest_force_mtrr_state(NULL, 0, MTRR_TYPE_WRBACK);
+ mtrr_overwrite_state(NULL, 0, MTRR_TYPE_WRBACK);
/* Adjust nr_cpu_ids before "enumeration" happens */
xen_smp_count_cpus();
--
2.43.0
More information about the kernel-team
mailing list