Subject: signal-fix-up-rcu-wreckage.patch
From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 22 Jul 2011 08:07:08 +0200

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
---
 kernel/signal.c |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Index: linux-stable/kernel/signal.c
===================================================================
--- linux-stable.orig/kernel/signal.c
+++ linux-stable/kernel/signal.c
@@ -1394,12 +1394,12 @@ struct sighand_struct *__lock_task_sigha
 	struct sighand_struct *sighand;
 
 	for (;;) {
-		local_irq_save(*flags);
+		local_irq_save_nort(*flags);
 		rcu_read_lock();
 		sighand = rcu_dereference(tsk->sighand);
 		if (unlikely(sighand == NULL)) {
 			rcu_read_unlock();
-			local_irq_restore(*flags);
+			local_irq_restore_nort(*flags);
 			break;
 		}
 
@@ -1410,7 +1410,7 @@ struct sighand_struct *__lock_task_sigha
 		}
 		spin_unlock(&sighand->siglock);
 		rcu_read_unlock();
-		local_irq_restore(*flags);
+		local_irq_restore_nort(*flags);
 	}
 
 	return sighand;
