[dtrace-discuss] userland data

Ashok Nair mail4ashok at gmail.com
Mon Jan 22 02:41:02 PST 2007


Hi,

  Have a question about  one of the example  I came across:

syscall::open*:entry
{
  self->path = arg0;
}

syscall::open*:return
/self->path != NULL && (int)arg0 == -1 && errno == EACCES/
{
printf("UID %d perm denied to open %s\n", uid, copyinstr(self->path));
self->path =0;
}

the reasoning for using copyinstr is to copy userland data to kernel space, but the data is referenced in the predicate without using copyinstr (or is that check for some pointer to the data)?

How to generally know if some piece of data lies in userland or not? Is the understanding that data for pointers to all system calls lies in userland space?

Thanks
Ashok
 
 
This message posted from opensolaris.org


More information about the dtrace-discuss mailing list