Refresh 4.4.2-rt6 patchset after 4.4.3 update

This commit is contained in:
Salvatore Bonaccorso 2016-02-28 10:57:52 +01:00
parent 3040b167bb
commit 05c56d36ef
2 changed files with 11 additions and 16 deletions

View File

@ -79,21 +79,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
show_trace_log_lvl(task, regs, sp, bp, log_lvl);
--- a/lib/dump_stack.c
+++ b/lib/dump_stack.c
@@ -33,7 +33,7 @@ asmlinkage __visible void dump_stack(voi
@@ -34,6 +34,7 @@ asmlinkage __visible void dump_stack(voi
* Permit this cpu to perform nested stack dumps while serialising
* against other CPUs
*/
- preempt_disable();
+ migrate_disable();
+
retry:
local_irq_save(flags);
cpu = smp_processor_id();
@@ -52,7 +52,7 @@ asmlinkage __visible void dump_stack(voi
if (!was_locked)
atomic_set(&dump_lock, -1);
- preempt_enable();
+ migrate_enable();
}
#else
asmlinkage __visible void dump_stack(void)

View File

@ -16,7 +16,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
--- a/kernel/futex.c
+++ b/kernel/futex.c
@@ -1812,6 +1812,16 @@ static int futex_requeue(u32 __user *uad
@@ -1812,6 +1812,16 @@ retry_private:
requeue_pi_wake_futex(this, &key2, hb2);
drop_count++;
continue;
@ -109,7 +109,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
/* Check if the requeue code acquired the second futex for us. */
if (!q.rt_waiter) {
@@ -2753,9 +2798,10 @@ static int futex_wait_requeue_pi(u32 __u
@@ -2753,14 +2798,15 @@ 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)) {
@ -117,12 +117,17 @@ Signed-off-by: Thomas Gleixner <tglx@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
* the requeue_pi() code acquired for us.
*/
free_pi_state(q.pi_state);
- spin_unlock(q.lock_ptr);
+ spin_unlock(&hb2->lock);
}
} else {
/*
@@ -2768,7 +2814,8 @@ static int futex_wait_requeue_pi(u32 __u
@@ -2773,7 +2819,8 @@ static int futex_wait_requeue_pi(u32 __u
ret = rt_mutex_finish_proxy_lock(pi_mutex, to, &rt_waiter);
debug_rt_mutex_free_waiter(&rt_waiter);