Skip to content

Commit 26e53d5

Browse files
npigginmpe
authored andcommitted
powerpc/64s/radix: Fix preempt imbalance in TLB flush
Fixes: 424de9c ("powerpc/mm/radix: Avoid flushing the PWC on every flush_tlb_range") Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
1 parent 158f196 commit 26e53d5

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

arch/powerpc/mm/tlb-radix.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,12 +360,14 @@ void radix__flush_tlb_collapsed_pmd(struct mm_struct *mm, unsigned long addr)
360360

361361

362362
pid = mm ? mm->context.id : 0;
363+
preempt_disable();
363364
if (unlikely(pid == MMU_NO_CONTEXT))
364365
goto no_context;
365366

366367
/* 4k page size, just blow the world */
367368
if (PAGE_SIZE == 0x1000) {
368369
radix__flush_all_mm(mm);
370+
preempt_enable();
369371
return;
370372
}
371373

0 commit comments

Comments
 (0)