[tip: x86/mm] x86/mm: Use guard() in cpa_collapse_large_pages()

From: tip-bot2 for Peter Zijlstra

Date: Wed Aug 05 2026 - 08:27:59 EST


The following commit has been merged into the x86/mm branch of tip:

Commit-ID: c980eafc5b738f274b36fac634f06ff000a07038
Gitweb: https://git.kernel.org/tip/c980eafc5b738f274b36fac634f06ff000a07038
Author: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
AuthorDate: Wed, 29 Jul 2026 13:08:08 +02:00
Committer: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
CommitterDate: Wed, 05 Aug 2026 14:19:35 +02:00

x86/mm: Use guard() in cpa_collapse_large_pages()

Signed-off-by: Peter Zijlstra (Intel) <peterz@xxxxxxxxxxxxx>
Link: https://patch.msgid.link/20260729111119.375614011@xxxxxxxxxxxxx
---
arch/x86/mm/pat/set_memory.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/arch/x86/mm/pat/set_memory.c b/arch/x86/mm/pat/set_memory.c
index b1e780a..fc6a1b2 100644
--- a/arch/x86/mm/pat/set_memory.c
+++ b/arch/x86/mm/pat/set_memory.c
@@ -417,7 +417,7 @@ static void cpa_collapse_large_pages(struct cpa_data *cpa)
int collapsed = 0;
int i;

- spin_lock(&cpa_lock);
+ guard(spinlock)(&cpa_lock);

if (cpa->flags & (CPA_PAGES_ARRAY | CPA_ARRAY)) {
for (i = 0; i < cpa->numpages; i++)
@@ -432,10 +432,8 @@ static void cpa_collapse_large_pages(struct cpa_data *cpa)
collapsed += collapse_large_pages(addr, &pgtables);
}

- if (!collapsed) {
- spin_unlock(&cpa_lock);
+ if (!collapsed)
return;
- }

flush_tlb_all();

@@ -443,8 +441,6 @@ static void cpa_collapse_large_pages(struct cpa_data *cpa)
list_del(&ptdesc->pt_list);
pagetable_free(ptdesc);
}
-
- spin_unlock(&cpa_lock);
}

static void cpa_flush(struct cpa_data *cpa, int cache)