Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'powerpc-6.4-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc fix from Michael Ellerman:

- Disable IRQs when switching mm in exit_lazy_flush_tlb() called from
exit_mmap()

Thanks to Nicholas Piggin and Sachin Sant.

* tag 'powerpc-6.4-5' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
powerpc/64s/radix: Fix exit lazy tlb mm switch with irqs enabled

+9 -1
+9 -1
arch/powerpc/mm/book3s64/radix_tlb.c
··· 795 795 goto out; 796 796 797 797 if (current->active_mm == mm) { 798 + unsigned long flags; 799 + 798 800 WARN_ON_ONCE(current->mm != NULL); 799 - /* Is a kernel thread and is using mm as the lazy tlb */ 801 + /* 802 + * It is a kernel thread and is using mm as the lazy tlb, so 803 + * switch it to init_mm. This is not always called from IPI 804 + * (e.g., flush_type_needed), so must disable irqs. 805 + */ 806 + local_irq_save(flags); 800 807 mmgrab_lazy_tlb(&init_mm); 801 808 current->active_mm = &init_mm; 802 809 switch_mm_irqs_off(mm, &init_mm, current); 803 810 mmdrop_lazy_tlb(mm); 811 + local_irq_restore(flags); 804 812 } 805 813 806 814 /*