[kernel] r19837 - dists/squeeze-security/linux-2.6/debian/patches/bugfix/all

Dann Frazier dannf at alioth.debian.org
Sat Feb 23 00:42:07 UTC 2013


Author: dannf
Date: Sat Feb 23 00:42:06 2013
New Revision: 19837

Log:
correct location of task_clear_group_stop_pending call (thanks benh)

Modified:
   dists/squeeze-security/linux-2.6/debian/patches/bugfix/all/signal-Use-GROUP_STOP_PENDING-to-stop-once-for-a-single-group-stop.patch

Modified: dists/squeeze-security/linux-2.6/debian/patches/bugfix/all/signal-Use-GROUP_STOP_PENDING-to-stop-once-for-a-single-group-stop.patch
==============================================================================
--- dists/squeeze-security/linux-2.6/debian/patches/bugfix/all/signal-Use-GROUP_STOP_PENDING-to-stop-once-for-a-single-group-stop.patch	Thu Feb 21 05:09:00 2013	(r19836)
+++ dists/squeeze-security/linux-2.6/debian/patches/bugfix/all/signal-Use-GROUP_STOP_PENDING-to-stop-once-for-a-single-group-stop.patch	Sat Feb 23 00:42:06 2013	(r19837)
@@ -83,7 +83,7 @@
  
  #define RCU_READ_UNLOCK_BLOCKED (1 << 0) /* blocked while in RCU read-side. */
 diff --git a/kernel/signal.c b/kernel/signal.c
-index 8b60831..a04db3b 100644
+index 8b60831..c61b7a5 100644
 --- a/kernel/signal.c
 +++ b/kernel/signal.c
 @@ -120,7 +120,7 @@ static inline int has_pending_signals(sigset_t *signal, sigset_t *blocked)
@@ -130,16 +130,16 @@
  	task_clear_group_stop_pending(task);
  
  	if (!consume)
-@@ -702,6 +704,9 @@ static int prepare_signal(int sig, struct task_struct *p, int from_ancestor_ns)
- 		rm_from_queue(sigmask(SIGCONT), &signal->shared_pending);
+@@ -714,6 +716,9 @@ static int prepare_signal(int sig, struct task_struct *p, int from_ancestor_ns)
  		t = p;
  		do {
+ 			unsigned int state;
 +
 +			task_clear_group_stop_pending(t);
 +
- 			rm_from_queue(sigmask(SIGCONT), &t->pending);
- 		} while_each_thread(p, t);
- 	} else if (sig == SIGCONT) {
+ 			rm_from_queue(SIG_KERNEL_STOP_MASK, &t->pending);
+ 			/*
+ 			 * If there is a handler for SIGCONT, we must make
 @@ -855,6 +860,7 @@ static void complete_signal(int sig, struct task_struct *p, int group)
  			signal->group_stop_count = 0;
  			t = p;



More information about the Kernel-svn-changes mailing list