• Thomas Gleixner's avatar
    rtmutex: Warn if trylock is called from hard/softirq context · 6ce47fd9
    Thomas Gleixner authored
    rt_mutex_trylock() must be called from thread context. It can be
    called from atomic regions (preemption or interrupts disabled), but
    not from hard/softirq/nmi context. Add a warning to alert abusers.
    
    The reasons for this are:
    
        1) There is a potential deadlock in the slowpath
    
        2) Another cpu which blocks on the rtmutex will boost the task
           which allegedly locked the rtmutex, but that cannot work
           because the hard/softirq context borrows the task context.
    Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Sebastian Siewior <bigeasy@linutronix.de>
    6ce47fd9
rtmutex.c 42.9 KB