diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2012-03-23 18:02:43 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-23 19:58:41 -0400 |
commit | ee00560c7dac1dbbf048446a8489550d0a5765b7 (patch) | |
tree | e2a07e3ee58daa2a915634b18bb14d6c75c3e006 /kernel/ptrace.c | |
parent | 5cdf389aee90109e2e3d88085dea4dd5508a3be7 (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.c | 15 |
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); |