Preventing a tapscript from accessing user space.

David Wilder dwilder@us.ibm.com
Tue Feb 6 00:07:00 GMT 2007


What prevents a tapscript from attempting to access user space 
directly?  For example:
if   $arg is a pointer to a struct in user space (presumably passed to 
the kernel via some system call).
What prevents me from doing   i=$arg->j in the tapscript.

Also when I looked at the code generated by stap I was hoping to see 
deref() used but that is not what I found.
I could have missed something...

On i386 the above example works ok because we can just access the user 
space, it works but it is not correct.
On s390 I can't do that I must use something like get_user(),  but I 
cant do that ether because get_user() calls might_sleep() and the probe 
is running with interrupts off.

-- 
David Wilder
IBM Linux Technology Center
Beaverton, Oregon, USA 
dwilder@us.ibm.com
(503)578-3789



More information about the Systemtap mailing list