Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull locking fix from Thomas Gleixner:
"rt_mutex_futex_unlock() grew a new irq-off call site, but the function
assumes that its always called from irq enabled context.

Use (un)lock_irqsafe() to handle the new call site correctly"

* 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
rtmutex: Make rt_mutex_futex_unlock() safe for irq-off callsites

+3 -2
+3 -2
kernel/locking/rtmutex.c
··· 1616 1616 void __sched rt_mutex_futex_unlock(struct rt_mutex *lock) 1617 1617 { 1618 1618 DEFINE_WAKE_Q(wake_q); 1619 + unsigned long flags; 1619 1620 bool postunlock; 1620 1621 1621 - raw_spin_lock_irq(&lock->wait_lock); 1622 + raw_spin_lock_irqsave(&lock->wait_lock, flags); 1622 1623 postunlock = __rt_mutex_futex_unlock(lock, &wake_q); 1623 - raw_spin_unlock_irq(&lock->wait_lock); 1624 + raw_spin_unlock_irqrestore(&lock->wait_lock, flags); 1624 1625 1625 1626 if (postunlock) 1626 1627 rt_mutex_postunlock(&wake_q);