• John David Anglin's avatar
    parisc: Fix patch code locking and flushing · a9fe7fa7
    John David Anglin authored
    This change fixes the following:
    
    1) The flags variable is not initialized. Always use raw_spin_lock_irqsave
    and raw_spin_unlock_irqrestore to serialize patching.
    
    2) flush_kernel_vmap_range is primarily intended for DMA flushes. Since
    __patch_text_multiple is often called with interrupts disabled, it is
    better to directly call flush_kernel_dcache_range_asm and
    flush_kernel_icache_range_asm. This avoids an extra call.
    
    3) The final call to flush_icache_range is unnecessary.
    Signed-off-by: default avatarJohn David Anglin <dave.anglin@bell.net>
    Signed-off-by: default avatarHelge Deller <deller@gmx.de>
    a9fe7fa7
patch.c 3.02 KB