Oleg Nesterov
2c60e18b07
ptrace: ensure JOBCTL_STOP_SIGMASK is not zero after detach
...
commit 8a88951b58 upstream.
This is the temporary simple fix for 3.2, we need more changes in this
area.
1. do_signal_stop() assumes that the running untraced thread in the
stopped thread group is not possible. This was our goal but it is
not yet achieved: a stopped-but-resumed tracee can clone the running
thread which can initiate another group-stop.
Remove WARN_ON_ONCE(!current->ptrace).
2. A new thread always starts with ->jobctl = 0. If it is auto-attached
and this group is stopped, __ptrace_unlink() sets JOBCTL_STOP_PENDING
but JOBCTL_STOP_SIGMASK part is zero, this triggers WANR_ON(!signr)
in do_jobctl_trap() if another debugger attaches.
Change __ptrace_unlink() to set the artificial SIGSTOP for report.
Alternatively we could change ptrace_init_task() to copy signr from
current, but this means we can copy it for no reason and hide the
possible similar problems.
Acked-by: Tejun Heo <tj@kernel.org >
Signed-off-by: Oleg Nesterov <oleg@redhat.com >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de >
2012-01-06 14:17:34 -08:00
..
2011-08-01 13:39:40 -10:00
2011-08-31 15:56:29 +02:00
2011-07-26 16:49:45 -07:00
2011-12-09 08:55:47 -08:00
2011-11-11 09:44:47 -08:00
2012-01-03 10:11:29 -08:00
2011-12-09 08:55:52 -08:00
2010-08-09 16:48:42 -04:00
2011-06-14 22:48:46 -04:00
2011-07-20 14:10:11 -07:00
2011-03-14 09:15:23 -04:00
2011-07-26 16:49:47 -07:00
2010-10-30 01:42:19 -04:00
2011-03-03 10:55:40 -08:00
2011-07-26 16:49:47 -07:00
2011-03-23 19:46:28 -07:00
2011-05-19 18:51:57 +10:00
2011-12-09 08:54:23 -08:00
2012-01-06 14:17:11 -08:00
2011-07-30 00:08:53 -07:00
2011-07-25 20:57:15 -07:00
2011-03-31 11:26:23 -03:00
2011-07-26 16:49:47 -07:00
2011-03-23 19:47:19 -07:00
2011-08-11 11:24:42 -07:00
2011-07-14 12:59:14 +03:00
2010-03-06 11:26:46 -08:00
2010-08-09 20:45:05 -07:00
2012-01-06 14:17:34 -08:00
2011-05-20 08:56:56 +02:00
2011-08-11 11:24:42 -07:00
2011-05-17 23:19:17 +02:00
2011-03-23 19:47:08 -07:00
2012-01-06 14:17:22 -08:00
2011-03-23 19:47:08 -07:00
2011-12-09 08:54:23 -08:00
2012-01-06 14:17:33 -08:00
2010-12-18 15:54:48 +01:00
2009-11-18 16:32:12 +01:00
2011-12-09 08:55:54 -08:00
2011-03-25 17:52:22 -07:00
2011-04-10 17:01:05 +02:00
2011-06-10 15:15:40 +02:00
2011-06-10 14:55:36 +02:00
2010-10-01 10:50:58 -07:00
2011-11-11 09:43:01 -08:00
2011-07-15 15:11:47 -04:00
2011-04-19 16:45:51 -07:00
2011-05-28 17:02:57 +02:00
2011-03-31 11:26:23 -03:00
2010-05-04 05:38:16 +02:00
2011-03-23 13:54:47 +01:00
2011-12-21 12:58:22 -08:00
2011-08-05 23:57:33 +02:00
2011-07-24 22:06:04 +09:30
2011-04-14 08:52:33 +02:00
2011-04-14 08:52:33 +02:00
2011-05-25 08:39:17 -07:00
2011-04-14 08:52:33 +02:00
2011-07-25 20:57:14 -07:00
2011-07-20 01:44:07 -04:00
2011-03-31 11:26:23 -03:00
2011-07-26 16:49:45 -07:00
2011-07-24 22:06:04 +09:30
2011-03-23 19:46:58 -07:00
2011-07-08 22:21:58 +02:00
2011-07-08 14:02:53 +02:00
2011-10-18 11:36:59 +02:00
2011-05-24 12:10:51 +02:00
2011-08-25 16:25:34 -07:00
2011-05-26 17:12:37 -07:00
2012-01-06 14:17:34 -08:00
2010-11-12 07:55:31 -08:00
2011-07-26 16:49:47 -07:00
2011-05-05 23:16:58 -07:00
2011-05-20 12:50:29 -07:00
2011-07-26 16:49:47 -07:00
2011-07-20 10:50:12 -07:00
2011-07-26 16:49:47 -07:00
2011-07-13 08:17:56 -07:00
2011-06-16 16:12:05 -07:00
2010-11-05 08:21:34 -07:00
2011-03-23 19:46:22 -07:00
2011-09-29 20:04:34 -07:00
2011-01-27 21:13:51 -05:00
2011-01-27 21:13:51 -05:00
2011-02-22 22:07:22 +01:00
2011-07-08 14:02:53 +02:00
2011-07-26 16:49:47 -07:00
2011-03-31 11:26:23 -03:00
2011-07-01 10:39:08 +02:00
2010-11-23 10:29:08 +01:00
2010-07-17 12:06:22 +02:00
2010-07-17 12:06:22 +02:00
2011-04-24 13:18:38 +02:00
2011-07-22 12:47:22 +02:00
2011-07-24 09:07:03 -07:00
2011-04-14 08:52:36 +02:00
2011-09-18 13:48:56 +02:00
2011-05-28 17:02:54 +02:00
2011-04-14 08:52:36 +02:00
2011-09-30 14:07:06 +02:00
2012-01-06 14:17:34 -08:00
2011-06-17 10:17:12 +02:00
2011-07-20 10:50:12 -07:00
2009-12-14 23:55:33 +01:00
2011-01-14 04:56:49 -08:00
2011-06-14 22:48:52 -04:00
2011-07-26 16:49:47 -07:00
2011-08-26 15:09:58 -07:00
2011-10-17 08:24:24 -07:00
2012-01-06 14:17:02 -08:00
2011-08-12 16:21:35 -05:00
2011-07-20 14:10:18 -07:00
2011-09-19 17:04:37 -07:00
2010-10-14 08:55:27 +02:00
2011-11-11 09:43:10 -08:00
2011-06-03 15:02:32 +02:00
2011-04-04 12:48:08 -04:00
2011-09-19 17:10:57 -07:00
2011-03-23 19:47:08 -07:00
2011-01-13 08:03:18 -08:00
2011-03-31 11:26:23 -03:00
2011-03-23 19:46:59 -07:00
2009-11-12 02:04:55 -08:00
2011-05-10 14:35:35 -07:00
2011-03-31 11:26:23 -03:00
2011-07-14 17:25:04 -04:00
2010-06-29 10:07:14 +02:00
2011-09-14 18:09:38 -07:00