Message ID | 20170815035138.qylh4mhpqom5g6qx@smitten (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/arch/x86/mm/xpfo.c b/arch/x86/mm/xpfo.c index a1344f27406c..c962bd7f34cc 100644 --- a/arch/x86/mm/xpfo.c +++ b/arch/x86/mm/xpfo.c @@ -54,9 +54,11 @@ inline void set_kpte(void *kaddr, struct page *page, pgprot_t prot) do_split = try_preserve_large_page(pte, (unsigned long)kaddr, &cpa); if (do_split) { - spin_lock(&cpa_lock); + if (!debug_pagealloc_enabled()) + spin_lock(&cpa_lock); BUG_ON(split_large_page(&cpa, pte, (unsigned long)kaddr)); - spin_unlock(&cpa_lock); + if (!debug_pagealloc_enabled()) + spin_unlock(&cpa_lock); } break;
On Mon, Aug 14, 2017 at 09:47:18PM -0600, Tycho Andersen wrote: > I'll do that for the next version Actually looking closer, I think we just need to mirror the debug_pagealloc_enabled() checks in set_kpte() from split_large_page(), Tycho