aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/ptrace.c
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2012-03-23 18:02:43 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2012-03-23 19:58:41 -0400
commitee00560c7dac1dbbf048446a8489550d0a5765b7 (patch)
treee2a07e3ee58daa2a915634b18bb14d6c75c3e006 /kernel/ptrace.c
parent5cdf389aee90109e2e3d88085dea4dd5508a3be7 (diff)
ptrace: remove PTRACE_SEIZE_DEVEL bit
PTRACE_SEIZE code is tested and ready for production use, remove the code which requires special bit in data argument to make PTRACE_SEIZE work. Strace team prepares for a new release of strace, and we would like to ship the code which uses PTRACE_SEIZE, preferably after this change goes into released kernel. Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com> Acked-by: Tejun Heo <tj@kernel.org> Acked-by: Oleg Nesterov <oleg@redhat.com> Cc: Pedro Alves <palves@redhat.com> Cc: Jan Kratochvil <jan.kratochvil@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/ptrace.c')
-rw-r--r--kernel/ptrace.c15
1 files changed, 0 insertions, 15 deletions
diff --git a/kernel/ptrace.c b/kernel/ptrace.c
index 4661c5bc07e5..ee8d49b9c309 100644
--- a/kernel/ptrace.c
+++ b/kernel/ptrace.c
@@ -237,25 +237,10 @@ static int ptrace_attach(struct task_struct *task, long request,
237 bool seize = (request == PTRACE_SEIZE); 237 bool seize = (request == PTRACE_SEIZE);
238 int retval; 238 int retval;
239 239
240 /*
241 * SEIZE will enable new ptrace behaviors which will be implemented
242 * gradually. SEIZE_DEVEL bit is used to prevent applications
243 * expecting full SEIZE behaviors trapping on kernel commits which
244 * are still in the process of implementing them.
245 *
246 * Only test programs for new ptrace behaviors being implemented
247 * should set SEIZE_DEVEL. If unset, SEIZE will fail with -EIO.
248 *
249 * Once SEIZE behaviors are completely implemented, this flag
250 * will be removed.
251 */
252 retval = -EIO; 240 retval = -EIO;
253 if (seize) { 241 if (seize) {
254 if (addr != 0) 242 if (addr != 0)
255 goto out; 243 goto out;
256 if (!(flags & PTRACE_SEIZE_DEVEL))
257 goto out;
258 flags &= ~(unsigned long)PTRACE_SEIZE_DEVEL;
259 if (flags & ~(unsigned long)PTRACE_O_MASK) 244 if (flags & ~(unsigned long)PTRACE_O_MASK)
260 goto out; 245 goto out;
261 flags = PT_PTRACED | PT_SEIZED | (flags << PT_OPT_FLAG_SHIFT); 246 flags = PT_PTRACED | PT_SEIZED | (flags << PT_OPT_FLAG_SHIFT);