On 03/15/10 08:20, tester wrote: >> fbt::door_call:entry >> /curpsinfo->pr_dmodel == PR_MODEL_LP64/ >> { >> printf("entry args are %lx and %lx \n", arg0, >> , *(uint64_t *)copyin(arg1, 8)); >> } >> >> Nico > > Thanks Nico. Since arg1 is a pointer to a struct in userland, can I use > ptr = *(uint32_t *)copyin(arg1, 4); > tracemem(ptr,10); > to dump the structure. I tried this and getting invalid address (0xfb07bc75) > in action #4.
If arg1 is a userland pointer to a structure, then your copyin just copied in the first four bytes of that structure. And your tracemem is trying to use those first four bytes as though they were a kernel pointer. That's not going to work. You might want this: this->ptr = copyin(arg1, 10); tracemem(this->ptr, 10); -- James Carlson 42.703N 71.076W <carls...@workingcode.com> _______________________________________________ dtrace-discuss mailing list dtrace-discuss@opensolaris.org