linux/arch/nios2/mm
Helge Deller 7db15418d3 nios2: fix flush_dcache_page() for usage from irq context
Since at least kernel 6.1, flush_dcache_page() is called with IRQs
disabled, e.g.  from aio_complete().

But the current implementation for flush_dcache_page() on NIOS2
unintentionally re-enables IRQs, which may lead to deadlocks.

Fix it by using xa_lock_irqsave() and xa_unlock_irqrestore() for the
flush_dcache_mmap_*lock() macros instead.

Link: https://lkml.kernel.org/r/ZOTF5WWURQNH9+iw@p100
Signed-off-by: Helge Deller <deller@gmx.de>
Cc: Dinh Nguyen <dinguyen@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2023-08-24 16:20:31 -07:00
..
cacheflush.c nios2: fix flush_dcache_page() for usage from irq context 2023-08-24 16:20:31 -07:00
dma-mapping.c dma-direct: make uncached_kernel_address more general 2020-03-16 10:48:09 +01:00
extable.c nios2: migrate exception table users off module.h and onto extable.h 2017-01-26 10:58:14 -05:00
fault.c mm/fault: convert remaining simple cases to lock_mm_and_find_vma() 2023-06-24 14:12:58 -07:00
init.c nios2: drop definition of PGD_ORDER 2022-07-17 17:14:43 -07:00
ioremap.c nios2: add support for folded p4d page tables 2020-06-04 19:06:21 -07:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mmu_context.c
pgtable.c nios2: drop definition of PGD_ORDER 2022-07-17 17:14:43 -07:00
tlb.c mm: don't include asm/pgtable.h if linux/mm.h is already included 2020-06-09 09:39:13 -07:00
uaccess.c nios2: use generic strncpy_from_user() and strnlen_user() 2017-05-08 17:14:14 +08:00