mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 21:51:05 +00:00
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>
This commit is contained in:
parent
5cdf389aee
commit
ee00560c7d
2 changed files with 1 additions and 19 deletions
|
@ -237,25 +237,10 @@ static int ptrace_attach(struct task_struct *task, long request,
|
|||
bool seize = (request == PTRACE_SEIZE);
|
||||
int retval;
|
||||
|
||||
/*
|
||||
* SEIZE will enable new ptrace behaviors which will be implemented
|
||||
* gradually. SEIZE_DEVEL bit is used to prevent applications
|
||||
* expecting full SEIZE behaviors trapping on kernel commits which
|
||||
* are still in the process of implementing them.
|
||||
*
|
||||
* Only test programs for new ptrace behaviors being implemented
|
||||
* should set SEIZE_DEVEL. If unset, SEIZE will fail with -EIO.
|
||||
*
|
||||
* Once SEIZE behaviors are completely implemented, this flag
|
||||
* will be removed.
|
||||
*/
|
||||
retval = -EIO;
|
||||
if (seize) {
|
||||
if (addr != 0)
|
||||
goto out;
|
||||
if (!(flags & PTRACE_SEIZE_DEVEL))
|
||||
goto out;
|
||||
flags &= ~(unsigned long)PTRACE_SEIZE_DEVEL;
|
||||
if (flags & ~(unsigned long)PTRACE_O_MASK)
|
||||
goto out;
|
||||
flags = PT_PTRACED | PT_SEIZED | (flags << PT_OPT_FLAG_SHIFT);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue