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