Skip to content
  • Thomas Gleixner's avatar
    irq: Ensure irq_exit() code runs with interrupts disabled · 74eed016
    Thomas Gleixner authored
    
    
    We had already a few problems with code called from irq_exit() when
    interrupted from a nesting interrupt. This can happen on architectures
    which do not define __ARCH_IRQ_EXIT_IRQS_DISABLED.
    
    __ARCH_IRQ_EXIT_IRQS_DISABLED should go away and we want to make it
    mandatory to call irq_exit() with interrupts disabled.
    
    As a temporary protection disable interrupts for those architectures
    which do not define __ARCH_IRQ_EXIT_IRQS_DISABLED and add a WARN_ONCE
    when an architecture which defines __ARCH_IRQ_EXIT_IRQS_DISABLED calls
    irq_exit() with interrupts enabled.
    
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Ingo Molnar <mingo@kernel.org>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Linus Torvalds <torvalds@linuxfoundation.org>
    Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1302202155320.22263@ionos
    74eed016