All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Dike <jdike@addtoit.com>
To: Blaisorblade <blaisorblade@yahoo.it>,
	user-mode-linux-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Subject: Re: [uml-devel] [RFC] PATCH 3/4 - Time virtualization : PTRACE_SYSCALL_MASK
Date: Mon, 1 May 2006 09:45:52 -0400	[thread overview]
Message-ID: <20060501134552.GA3686@ccure.user-mode-linux.org> (raw)
In-Reply-To: <20060501135127.GA1276@nevyn.them.org>

On Mon, May 01, 2006 at 09:51:27AM -0400, Daniel Jacobowitz wrote:
> On Fri, Apr 28, 2006 at 09:49:56PM -0400, Jeff Dike wrote:
> > On Fri, Apr 28, 2006 at 10:28:46PM +0200, Blaisorblade wrote:
> > > bitmask = 0;
> > > set_bit(__NR_tee, bitmask);
> > > ptrace(PTRACE_SET_TRACEONLY, bitmask);
> > 
> > Yup, I like this.
> 
> I really recommend you not do this.  

> Suppose the kernel knows about 32 more syscalls than userspace.  It's
> going to read extra bits out of the bitmask that userspace didn't
> initialize!

The example above is a sketch, not a fully formed, compilable user.  Every
proposed interface has had the mask length passed in - in the case
above in the data argument.

> Also, if you store the mask with the child process, it risks surprising
> existing tracers: attach, set mask, detach, then the next time someone
> attaches an old version of strace some syscalls will be "hidden".

Not if the mask only survives for the duration of a PTRACE_ATTACH, and
the mask is released on PTRACE_DETACH.

				Jeff


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

WARNING: multiple messages have this Message-ID (diff)
From: Jeff Dike <jdike@addtoit.com>
To: Blaisorblade <blaisorblade@yahoo.it>,
	user-mode-linux-devel@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	Heiko Carstens <heiko.carstens@de.ibm.com>,
	Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Subject: Re: [uml-devel] [RFC] PATCH 3/4 - Time virtualization : PTRACE_SYSCALL_MASK
Date: Mon, 1 May 2006 09:45:52 -0400	[thread overview]
Message-ID: <20060501134552.GA3686@ccure.user-mode-linux.org> (raw)
In-Reply-To: <20060501135127.GA1276@nevyn.them.org>

On Mon, May 01, 2006 at 09:51:27AM -0400, Daniel Jacobowitz wrote:
> On Fri, Apr 28, 2006 at 09:49:56PM -0400, Jeff Dike wrote:
> > On Fri, Apr 28, 2006 at 10:28:46PM +0200, Blaisorblade wrote:
> > > bitmask = 0;
> > > set_bit(__NR_tee, bitmask);
> > > ptrace(PTRACE_SET_TRACEONLY, bitmask);
> > 
> > Yup, I like this.
> 
> I really recommend you not do this.  

> Suppose the kernel knows about 32 more syscalls than userspace.  It's
> going to read extra bits out of the bitmask that userspace didn't
> initialize!

The example above is a sketch, not a fully formed, compilable user.  Every
proposed interface has had the mask length passed in - in the case
above in the data argument.

> Also, if you store the mask with the child process, it risks surprising
> existing tracers: attach, set mask, detach, then the next time someone
> attaches an old version of strace some syscalls will be "hidden".

Not if the mask only survives for the duration of a PTRACE_ATTACH, and
the mask is released on PTRACE_DETACH.

				Jeff

  reply	other threads:[~2006-05-01 14:45 UTC|newest]

Thread overview: 52+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-13 17:20 [uml-devel] [RFC] PATCH 3/4 - Time virtualization : PTRACE_SYSCALL_MASK Jeff Dike
2006-04-13 17:20 ` Jeff Dike
2006-04-18 12:57 ` [uml-devel] " Pavel Machek
2006-04-18 12:57   ` Pavel Machek
2006-04-26 18:38   ` [uml-devel] " Jeff Dike
2006-04-26 18:38     ` Jeff Dike
2006-04-20  9:05 ` [uml-devel] " Heiko Carstens
2006-04-20  9:05   ` Heiko Carstens
2006-04-20 14:17   ` [uml-devel] " Bodo Stroesser
2006-04-20 14:17     ` Bodo Stroesser
2006-04-25 18:32     ` Jeff Dike
2006-04-25 18:32       ` Jeff Dike
2006-04-26 20:26     ` Charles P. Wright
2006-04-26 20:26       ` Charles P. Wright
2006-04-26 19:40       ` Jeff Dike
2006-04-26 19:40         ` Jeff Dike
2006-04-26 21:29         ` Charles P. Wright
2006-04-26 21:29           ` Charles P. Wright
2006-04-21 18:16   ` Blaisorblade
2006-04-21 18:16     ` Blaisorblade
2006-04-21 18:38     ` Blaisorblade
2006-04-21 18:38       ` Blaisorblade
2006-04-22  7:06     ` Heiko Carstens
2006-04-22  7:06       ` Heiko Carstens
2006-04-22  8:32       ` Blaisorblade
2006-04-22  8:32         ` Blaisorblade
2006-04-25 15:59       ` Jeff Dike
2006-04-25 15:59         ` Jeff Dike
2006-04-21 18:34 ` [uml-devel] " Blaisorblade
2006-04-21 18:34   ` Blaisorblade
2006-04-25 16:29   ` Jeff Dike
2006-04-25 16:29     ` Jeff Dike
2006-04-26 15:47     ` Blaisorblade
2006-04-26 15:47       ` Blaisorblade
2006-04-26 15:46       ` Jeff Dike
2006-04-26 15:46         ` Jeff Dike
2006-04-28 20:28         ` Blaisorblade
2006-04-28 20:28           ` Blaisorblade
2006-04-29  1:49           ` Jeff Dike
2006-04-29  1:49             ` Jeff Dike
2006-05-01 13:51             ` Daniel Jacobowitz
2006-05-01 13:51               ` Daniel Jacobowitz
2006-05-01 13:45               ` Jeff Dike [this message]
2006-05-01 13:45                 ` Jeff Dike
2006-05-01 15:01                 ` Daniel Jacobowitz
2006-05-01 15:01                   ` Daniel Jacobowitz
2006-04-29  8:49           ` Heiko Carstens
2006-04-29  8:49             ` Heiko Carstens
2006-05-01 17:02             ` Jeff Dike
2006-05-01 17:02               ` Jeff Dike
2006-05-02  6:57               ` Heiko Carstens
2006-05-02  6:57                 ` Heiko Carstens

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=20060501134552.GA3686@ccure.user-mode-linux.org \
    --to=jdike@addtoit.com \
    --cc=blaisorblade@yahoo.it \
    --cc=bstroesser@fujitsu-siemens.com \
    --cc=heiko.carstens@de.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.