diff options
author | Juergen Gross <jgross@suse.com> | 2025-06-03 14:14:41 +0300 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2025-06-11 11:20:51 +0200 |
commit | 1dbf30fdb5e57fb2c39f17f35f2b544d5de34397 (patch) | |
tree | 2ce9d41e351b76cd0d89658d21062173fab5646e | |
parent | 0b3bc018e86afdc0cbfef61328c63d5c08f8b370 (diff) |
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
-rw-r--r-- | arch/x86/mm/pat/set_memory.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c index 46edc11726b7..8834c76f91c9 100644 --- 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, 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; |