diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2017-11-29 14:50:23 -0500 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2017-11-29 14:50:23 -0500 |
commit | 81ffc78d3845274329aff87ca0d5dd0902351a62 (patch) | |
tree | 6f2b359fd96f8850ebbdba3273ab129686021adf | |
parent | e817b01d116eae783cdf14da534eb6d3d28a3efd (diff) | |
download | 4.12-rt-patches-81ffc78d3845274329aff87ca0d5dd0902351a62.tar.gz |
futex: refresh patch for stable backport of c74aef2d06a
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | patches/futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/patches/futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch b/patches/futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch index 70e3601e1aa81..6fe021d65f0a2 100644 --- a/patches/futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch +++ b/patches/futex-Ensure-lock-unlock-symetry-versus-pi_lock-and-.patch @@ -1,6 +1,8 @@ +From 04915f95519eedd70dd247794358b3136a4000f3 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner <tglx@linutronix.de> Date: Fri, 1 Mar 2013 11:17:42 +0100 -Subject: futex: Ensure lock/unlock symetry versus pi_lock and hash bucket lock +Subject: [PATCH] futex: Ensure lock/unlock symetry versus pi_lock and hash + bucket lock In exit_pi_state_list() we have the following locking construct: @@ -24,19 +26,21 @@ head again under the pi_lock. Reported-by: Yong Zhang <yong.zhang@windriver.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> ---- - kernel/futex.c | 2 ++ - 1 file changed, 2 insertions(+) +diff --git a/kernel/futex.c b/kernel/futex.c +index bebcc1a0dcf7..8633f667560e 100644 --- a/kernel/futex.c +++ b/kernel/futex.c -@@ -911,7 +911,9 @@ void exit_pi_state_list(struct task_stru - * task still owns the PI-state: +@@ -917,7 +917,9 @@ void exit_pi_state_list(struct task_struct *curr) */ if (head->next != next) { + raw_spin_unlock(&pi_state->pi_mutex.wait_lock); + raw_spin_unlock_irq(&curr->pi_lock); spin_unlock(&hb->lock); + raw_spin_lock_irq(&curr->pi_lock); continue; } +-- +2.15.0 + |