Isn't the second argument to kstrgetmsg a **mblk_t (i.e., a
pointer already in the kernel address space)?
> *int*
> 7191 kstrgetmsg <http://src.opensolaris.org/source/s?refs=kstrgetmsg>(
> 7192 *struct* vnode <http://src.opensolaris.org/source/s?defs=vnode>
> *vp
> <http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/os/streamio.c#vp>,
> 7193 mblk_t <http://src.opensolaris.org/source/s?defs=mblk_t>
> **mctlp <http://src.opensolaris.org/source/s?defs=mctlp>,
> 7194 *struct* uio
> <http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/os/streamio.c#uio>
> *uiop,
> 7195 *unsigned* *char* *prip
> <http://src.opensolaris.org/source/s?defs=prip>,
> 7196 *int* *flagsp <http://src.opensolaris.org/source/s?defs=flagsp>,
> 7197 clock_t <http://src.opensolaris.org/source/s?defs=clock_t>
> timout <http://src.opensolaris.org/source/s?defs=timout>,
> 7198 rval_t <http://src.opensolaris.org/source/s?defs=rval_t> *rvp
> <http://src.opensolaris.org/source/s?defs=rvp>)
You should be just able to do
printf("mp=0x%p\n", self->arg1);
Jim Litchfield
zhihui Chen wrote:
> I want to check value of the in-out parameter of one function when it
> returns, but each time dtrace will report error.
> Following is the script, anyone can help me correct the error with it?
> #!/usr/sbin/dtrace -s
> #pragma D option quiet
> #pragma D option bufsize=4m
>
> fbt::kstrgetmsg:entry
> /pid==$target/
> {
> self->arg1=arg1;
> }
>
> fbt::kstrgetmsg:return
> /pid==$target&&self->arg1/
> {
> printf("mp=%x\n",*(uint64_t *)copyin(self->arg1,8));
> self->arg1=0;
> }
>
> intel6# ./kstrgetmsg.d -c "rcp intel2-1:/test1000k ."
> rcp: dropped connection
> dtrace: error on enabled probe ID 2 (ID 17047:
> fbt:genunix:kstrgetmsg:return): invalid address (0xffffff001edd9b90)
> in action #1 at DIF offset 52
> dtrace: error on enabled probe ID 2 (ID 17047:
> fbt:genunix:kstrgetmsg:return): invalid address (0xffffff001edd9b90)
> in action #1 at DIF offset 52
> dtrace: error on enabled probe ID 2 (ID 17047:
> fbt:genunix:kstrgetmsg:return): invalid address (0xffffff001edd9b90)
> in action #1 at DIF offset 52
> .......
>
>
> Thanks
> Zhihui
> ------------------------------------------------------------------------
>
> _______________________________________________
> dtrace-discuss mailing list
> [email protected]
>
_______________________________________________
dtrace-discuss mailing list
[email protected]