[linux] 01/01: [rt] Rebase onto 3.2.91
debian-kernel at lists.debian.org
debian-kernel at lists.debian.org
Thu Aug 17 20:42:18 UTC 2017
This is an automated email from the git hooks/post-receive script.
benh pushed a commit to branch wheezy-security
in repository linux.
commit e3e03bce4753f5ec8a43613d9e4b650f4ea5855c
Author: Ben Hutchings <ben at decadent.org.uk>
Date: Thu Aug 17 21:41:57 2017 +0100
[rt] Rebase onto 3.2.91
---
.../all/rt/0192-rtmutex-futex-prepare-rt.patch.patch | 17 +++++++++--------
1 file changed, 9 insertions(+), 8 deletions(-)
diff --git a/debian/patches/features/all/rt/0192-rtmutex-futex-prepare-rt.patch.patch b/debian/patches/features/all/rt/0192-rtmutex-futex-prepare-rt.patch.patch
index e647544..6685bb4 100644
--- a/debian/patches/features/all/rt/0192-rtmutex-futex-prepare-rt.patch.patch
+++ b/debian/patches/features/all/rt/0192-rtmutex-futex-prepare-rt.patch.patch
@@ -29,16 +29,16 @@ Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
} else if (ret) {
/* -EDEADLK */
this->pi_state = NULL;
-@@ -2411,7 +2421,7 @@ static int futex_wait_requeue_pi(u32 __u
+@@ -2410,7 +2420,7 @@ static int futex_wait_requeue_pi(u32 __u
+ {
struct hrtimer_sleeper timeout, *to = NULL;
struct rt_mutex_waiter rt_waiter;
- struct rt_mutex *pi_mutex = NULL;
- struct futex_hash_bucket *hb;
+ struct futex_hash_bucket *hb, *hb2;
union futex_key key2 = FUTEX_KEY_INIT;
struct futex_q q = futex_q_init;
int res, ret;
-@@ -2468,20 +2478,55 @@ static int futex_wait_requeue_pi(u32 __u
+@@ -2467,20 +2477,55 @@ static int futex_wait_requeue_pi(u32 __u
/* Queue the futex_q, drop the hb lock, wait for wakeup. */
futex_wait_queue_me(hb, &q, to);
@@ -105,7 +105,7 @@ Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
/* Check if the requeue code acquired the second futex for us. */
if (!q.rt_waiter) {
-@@ -2490,14 +2535,15 @@ static int futex_wait_requeue_pi(u32 __u
+@@ -2489,7 +2534,8 @@ static int futex_wait_requeue_pi(u32 __u
* did a lock-steal - fix up the PI-state in that case.
*/
if (q.pi_state && (q.pi_state->owner != current)) {
@@ -113,8 +113,9 @@ Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
+ spin_lock(&hb2->lock);
+ BUG_ON(&hb2->lock != q.lock_ptr);
ret = fixup_pi_state_owner(uaddr2, &q, current);
- /*
- * Drop the reference to the pi state which
+ if (ret && rt_mutex_owner(&q.pi_state->pi_mutex) == current)
+ rt_mutex_unlock(&q.pi_state->pi_mutex);
+@@ -2498,7 +2544,7 @@ static int futex_wait_requeue_pi(u32 __u
* the requeue_pi() code acquired for us.
*/
free_pi_state(q.pi_state);
@@ -122,8 +123,8 @@ Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
+ spin_unlock(&hb2->lock);
}
} else {
- /*
-@@ -2510,7 +2556,8 @@ static int futex_wait_requeue_pi(u32 __u
+ struct rt_mutex *pi_mutex;
+@@ -2513,7 +2559,8 @@ static int futex_wait_requeue_pi(u32 __u
ret = rt_mutex_finish_proxy_lock(pi_mutex, to, &rt_waiter, 1);
debug_rt_mutex_free_waiter(&rt_waiter);
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git
More information about the Kernel-svn-changes
mailing list