From: Andrew Morton <akpm@linux-foundation.org>
To: Pierre Morel <pmorel@linux.vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, oleg@tv-sign.ru, roland@redhat.com,
heicars2@linux.vnet.ibm.com, sameske@linux.vnet.ibm.com,
schwidefsky@de.ibm.com, mingo@elte.hu, gregkh@suse.de,
user-mode-linux-devel@lists.sourceforge.net,
dave@linux.vnet.ibm.com, clg@fr.ibm.com, dlezcano@fr.ibm.com,
Michael Kerrisk <mtk.manpages@googlemail.com>,
linux-arch@vger.kernel.org
Subject: Re: [PATCH 1/1] system call notification with self_ptrace
Date: Mon, 8 Sep 2008 17:04:27 -0700 [thread overview]
Message-ID: <20080908170427.c8bf38f5.akpm@linux-foundation.org> (raw)
In-Reply-To: <48C51439.7000706@linux.vnet.ibm.com>
On Mon, 08 Sep 2008 14:02:01 +0200
Pierre Morel <pmorel@linux.vnet.ibm.com> wrote:
> Subject: [PATCH] system call notification with self_ptrace
>
> From: Pierre Morel <pmorel@fr.ibm.com>
>
>
> PTRACE SELF
>
> This patch adds a new functionality to ptrace: system call notification to
> the current process.
> When a process requests self ptrace, with the new request PTRACE_SELF_ON:
>
> 1. the next system call performed by the process will not be executed
> 2. self ptrace will be disabled for the process
> 3. a SIGSYS signal will be sent to the process.
>
> With an appropriate SIGSYS signal handler, the process can access its own
> data structures to
>
> 1. get the system call number from the siginfo structure
> 2. get the system call arguments from the stack
> 3. instrument the system call with other system calls
> 4. emulate the system call with other system calls
> 5. change the arguments of the system call
> 6. perform the system call for good
> 7. change the return value of the system call
> 8. request self ptrace again before returning.
>
> The new request PTRACE_SELF_OFF disables self ptrace.
>
It sounds like it might be useful.
Are there any userspace tools available with which people can utilise
this new functionality? Or plans to release them?
> arch/s390/kernel/ptrace.c | 16 ++++++++++++++++
> arch/s390/kernel/signal.c | 5 +++++
> arch/x86/kernel/ptrace.c | 29 +++++++++++++++++++++++++++++
> arch/x86/kernel/signal_32.c | 5 +++++
> arch/x86/kernel/signal_64.c | 5 +++++
Maintainers of the other 30-odd architectures would appreciate a test
application which they can use to develop and test their ports, please.
Michael Kerrisk will no doubt be looking for manpage assistance.
Please cc him on this material.
It would be good to get suitable testcases integrated into LTP (if LTP
has ptrace tests).
The patch title uses the term "self_ptrace", but the patch itself uses
the term "ptrace_self". Let's get it consistent everywhere.
The patch adds a
+ u64 instrumentation;
to the task_struct but no explanation is provided as to why this was
added, why it is a 64-bit field, what its locking rules are, etc.
Please fix this.
next parent reply other threads:[~2008-09-09 0:07 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <48C51439.7000706@linux.vnet.ibm.com>
2008-09-09 0:04 ` Andrew Morton [this message]
2008-09-10 14:17 ` [PATCH 1/1] system call notification with self_ptrace Pierre Morel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080908170427.c8bf38f5.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=clg@fr.ibm.com \
--cc=dave@linux.vnet.ibm.com \
--cc=dlezcano@fr.ibm.com \
--cc=gregkh@suse.de \
--cc=heicars2@linux.vnet.ibm.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=mtk.manpages@googlemail.com \
--cc=oleg@tv-sign.ru \
--cc=pmorel@linux.vnet.ibm.com \
--cc=roland@redhat.com \
--cc=sameske@linux.vnet.ibm.com \
--cc=schwidefsky@de.ibm.com \
--cc=user-mode-linux-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).