32 lines
1.1 KiB
Diff
32 lines
1.1 KiB
Diff
From a94cf5c6e7e31be9d4788916ce847adb15735d81 Mon Sep 17 00:00:00 2001
|
|
From: Juergen Gross <jgross@suse.com>
|
|
Date: Tue, 3 Jun 2025 14:14:41 +0300
|
|
Subject: x86/mm/pat: don't collapse pages without PSE set
|
|
|
|
Collapsing pages to a leaf PMD or PUD should be done only if
|
|
X86_FEATURE_PSE is available, which is not the case when running e.g.
|
|
as a Xen PV guest.
|
|
|
|
Fixes: 41d88484c71c ("x86/mm/pat: restore large ROX pages after fragmentation")
|
|
Signed-off-by: Juergen Gross <jgross@suse.com>
|
|
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
|
|
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
|
|
Cc: stable@vger.kernel.org
|
|
Link: https://lore.kernel.org/r/20250528123557.12847-3-jgross@suse.com
|
|
---
|
|
arch/x86/mm/pat/set_memory.c | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
--- a/arch/x86/mm/pat/set_memory.c
|
|
+++ b/arch/x86/mm/pat/set_memory.c
|
|
@@ -1257,6 +1257,9 @@ static int collapse_pmd_page(pmd_t *pmd,
|
|
pgprot_t pgprot;
|
|
int i = 0;
|
|
|
|
+ if (!cpu_feature_enabled(X86_FEATURE_PSE))
|
|
+ return 0;
|
|
+
|
|
addr &= PMD_MASK;
|
|
pte = pte_offset_kernel(pmd, addr);
|
|
first = *pte;
|