linux/arch/parisc
Helge Deller 277f206bb8 parisc: Fix flush_dcache_page() for usage from irq context
commit 61e150fb31 upstream.

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 parisc
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.

Cc: linux-parisc@vger.kernel.org
Cc: stable@kernel.org # 5.18+
Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-05-30 13:55:30 +01:00
..
boot parisc: Add missing FORCE prerequisite in Makefile 2021-09-09 12:44:30 +02:00
configs configs: remove the obsolete CONFIG_INPUT_POLLDEV 2021-09-08 11:50:28 -07:00
include parisc: Fix flush_dcache_page() for usage from irq context 2023-05-30 13:55:30 +01:00
kernel parisc: Fix flush_dcache_page() for usage from irq context 2023-05-30 13:55:30 +01:00
lib parisc: Add ioread64_lo_hi() and iowrite64_lo_hi() 2022-02-23 12:03:04 +01:00
math-emu parisc: math-emu: Fix fall-through warnings 2021-09-01 22:18:18 +02:00
mm parisc: Fix handling off probe non-access faults 2022-04-08 14:23:56 +02:00
defpalo.conf parisc: switch to gzip-compressed vmlinuz kernel 2013-07-09 22:09:20 +02:00
install.sh parisc: Fix "make install" on newer debian releases 2021-12-08 09:04:55 +01:00
Kbuild parisc: move core-y in arch/parisc/Makefile to arch/parisc/Kbuild 2021-08-30 10:18:25 +02:00
Kconfig parisc: Allow CONFIG_64BIT with ARCH=parisc 2022-09-23 14:15:48 +02:00
Kconfig.debug tracing: Refactor TRACE_IRQFLAGS_SUPPORT in Kconfig 2021-08-16 11:37:21 -04:00
Makefile parisc: Fix KBUILD_IMAGE for self-extracting kernel 2021-12-08 09:04:55 +01:00
nm Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00