]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
x86/mm/pat: don't collapse pages without PSE set
authorJuergen Gross <jgross@suse.com>
Tue, 3 Jun 2025 11:14:41 +0000 (14:14 +0300)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 11 Jun 2025 09:20:51 +0000 (11:20 +0200)
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

index 46edc11726b7bb49b9141a7d015a0d553fe88120..8834c76f91c9e2666de138c4d8514e26debdba13 100644 (file)
@@ -1257,6 +1257,9 @@ static int collapse_pmd_page(pmd_t *pmd, unsigned long addr,
        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;