Commit dfaed3e
powerpc/64s/radix: Fix exit lazy tlb mm switch with irqs enabled
Switching mm and tinkering with current->active_mm should be done with
irqs disabled. There is a path where exit_lazy_flush_tlb can be called
with irqs enabled:
exit_lazy_flush_tlb
flush_type_needed
__flush_all_mm
tlb_finish_mmu
exit_mmap
Which results in the switching being done with irqs enabled, which is
incorrect.
Fixes: a665eec ("powerpc/64s/radix: Fix mm_cpumask trimming race vs kthread_use_mm")
Cc: [email protected] # v5.10+
Reported-by: Sachin Sant <[email protected]>
Link: https://lore.kernel.org/linuxppc-dev/[email protected]/
Tested-by: Sachin Sant <[email protected]>
Signed-off-by: Nicholas Piggin <[email protected]>
Signed-off-by: Michael Ellerman <[email protected]>
Link: https://msgid.link/[email protected]1 parent 719dfd5 commit dfaed3e
1 file changed
Lines changed: 9 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
795 | 795 | | |
796 | 796 | | |
797 | 797 | | |
| 798 | + | |
| 799 | + | |
798 | 800 | | |
799 | | - | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
800 | 807 | | |
801 | 808 | | |
802 | 809 | | |
803 | 810 | | |
| 811 | + | |
804 | 812 | | |
805 | 813 | | |
806 | 814 | | |
| |||
0 commit comments