Linux 4.4.280
Greg Kroah-Hartman
maintainerI'm announcing the release of the 4.4.280 kernel.
All users of the 4.4 kernel series must upgrade.
The updated 4.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-4.4.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 include/linux/rcupdate.h | 4 kernel/futex.c | 245 ++++++++++++++++++++++++++-------------- kernel/locking/rtmutex.c | 185 ++++++++++++++++-------------- kernel/locking/rtmutex_common.h | 2 5 files changed, 263 insertions(+), 175 deletions(-)
Anna-Maria Gleixner (1):
rcu: Update documentation of rcu_read_unlock()
Greg Kroah-Hartman (1):
Linux 4.4.280
Mike Galbraith (1):
futex: Handle transient "ownerless" rtmutex state correctly
Peter Zijlstra (6):
futex: Cleanup refcounting
futex,rt_mutex: Introduce rt_mutex_init_waiter()
futex: Pull rt_mutex_futex_unlock() out from under hb->lock
futex: Rework futex_lock_pi() to use rt_mutex_*_proxy_lock()
futex: Futex_unlock_pi() determinism futex,rt_mutex: Fix rt_mutex_cleanup_proxy_lock()
Thomas Gleixner (3):
futex: Rename free_pi_state() to put_pi_state()
rtmutex: Make wait_lock irq safe
futex: Avoid freeing an active timer
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,6 +1,6 @@ VERSION = 4 PATCHLEVEL = 4 -SUBLEVEL = 279 +SUBLEVEL = 280 EXTRAVERSION = NAME = Blurry Fish Butt
include/linux/rcupdate.h +1 -3
@@ -880,9 +880,7 @@ static __always_inline void rcu_read_lock(void)* Unfortunately, this function acquires the scheduler's runqueue and * priority-inheritance spinlocks. This means that deadlock could result * if the caller of rcu_read_unlock() already holds one of these locks or -* any lock that is ever acquired while holding them; or any lock which -* can be taken from interrupt context because rcu_boost()->rt_mutex_lock() -* does not disable irqs while taking ->wait_lock. +* any lock that is ever acquired while holding them. * * That said, RCU readers are never priority boosted unless they were * preempted. Therefore, one way to avoid deadlock is to make sure
kernel/futex.c +160 -85
449 lines not on this page · raw message
kernel/locking/rtmutex.c +100 -85
525 lines not on this page · raw message
kernel/locking/rtmutex_common.h +1 -1
@@ -102,6 +102,7 @@ extern struct task_struct *rt_mutex_next_owner(struct rt_mutex *lock);extern void rt_mutex_init_proxy_locked (struct rt_mutex *lock,struct task_struct *proxy_owner);extern void rt_mutex_proxy_unlock (struct rt_mutex *lock); +extern void rt_mutex_init_waiter (struct rt_mutex_waiter *waiter);extern int rt_mutex_start_proxy_lock (struct rt_mutex *lock,struct rt_mutex_waiter *waiter,struct task_struct *task);
@@ -110,7 +111,6 @@ extern int rt_mutex_wait_proxy_lock(struct rt_mutex *lock, struct rt_mutex_waiter *waiter);extern bool rt_mutex_cleanup_proxy_lock (struct rt_mutex *lock,struct rt_mutex_waiter *waiter); -extern int rt_mutex_timed_futex_lock (struct rt_mutex *l,struct hrtimer_sleeper *to);extern int rt_mutex_futex_trylock (struct rt_mutex *l);extern int __rt_mutex_futex_trylock (struct rt_mutex *l);