[DTrace-devel] [PATCH] test: Switch kernel pointer in tracemem() test

Eugene Loh eugene.loh at oracle.com
Tue May 23 16:14:09 UTC 2023


On 5/23/23 00:37, Kris Van Hees wrote:

> Reviewed-by: Kris Van Hees <kris.van.hees at oracle.com>

Thanks.

>> On 3/6/23 16:14, eugene.loh at oracle.com wrote:
>>> From: Eugene Loh <eugene.loh at oracle.com>
>>>
>>> Change the kernel memory to be the first 14 bytes of 'linux_banner,
> 'linux_banner -> `linux_banner

Indeed.  Sharp eyes.  Thanks.

>>> diff --git a/test/unittest/tracemem/tst.tracemem.d b/test/unittest/tracemem/tst.tracemem.d
>>> +	/* p = `linux_banner; */     /* first 14 chars are "Linux version " */
> Why this comment?  Why not uncomment it and use p in the tracemem() actions
> below?

Hmm.  It's possible I had "a reason," but possibly not a good one and 
would certainly have merited a comment for such awkwardness. Okay, I 
changed to "p = (char*)`linux_banner" (seem to need the coercion) and 
used p thereafter.

>>> +
>>> +	/* try tracemem() with various sizes */
>>> +
>>> +	tracemem(`linux_banner, 14);     /* "Linux version ": 14 bytes */
>>> +	tracemem(`linux_banner, 14, -1); /* "Linux version ": 14 bytes (arg2 < 0) */
>>> +	tracemem(`linux_banner, 14,  0); /*                    0 bytes */
>>> +	tracemem(`linux_banner, 14,  2); /* "Li"            :  2 bytes */
>>> +	tracemem(`linux_banner, 14,  7); /* "Linux v"       :  7 bytes */
>>> +	tracemem(`linux_banner, 14, 12); /* "Linux versio"  : 12 bytes */
>>> +	tracemem(`linux_banner, 14, 14); /* "Linux version ": 14 bytes */
>>> +	tracemem(`linux_banner, 14, 15); /* "Linux version ": 14 bytes (arg1 <= arg2) */
>>>    	exit(0);
>>>    }



More information about the DTrace-devel mailing list