• Helge Deller's avatar
    parisc: Fix flush_dcache_page() for usage from irq context · 61e150fb
    Helge Deller authored
    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: default avatarHelge Deller <deller@gmx.de>
    61e150fb
cache.c 20.9 KB