Re: [PATCH 1/2] Move the pt_regs_offset struct definition from arch to common include file

From: Kees Cook
Date: Fri Jun 19 2015 - 12:59:00 EST


On Fri, Jun 19, 2015 at 7:12 AM, David Long <dave.long@xxxxxxxxxx> wrote:
> On 06/19/15 00:19, Michael Ellerman wrote:
>>
>> On Mon, 2015-06-15 at 12:42 -0400, David Long wrote:
>>>
>>> From: "David A. Long" <dave.long@xxxxxxxxxx>
>>>
>>> The pt_regs_offset structure is used for HAVE_REGS_AND_STACK_ACCESS_API
>>> feature and has identical definitions in four different arch ptrace.h
>>> include files. It seems unlikely that definition would ever need to be
>>> changed regardless of architecture so lets move it into
>>> include/linux/ptrace.h.
>>>
>>> Signed-off-by: David A. Long <dave.long@xxxxxxxxxx>
>>> ---
>>> arch/powerpc/kernel/ptrace.c | 5 -----
>>
>>
>> Built and booted on powerpc, but is there an easy way to actually test the
>> code
>> paths in question?
>>
>
> There is an easy way to "smoke test" it on all archiectures that also
> implement kprobes (which powerpc does). If I'm understanding the powerpc
> code correctly (WRT register naming conventions) just do the following:
>
> cd /sys/kernel/debug/tracing
> echo 'p do_fork %gpr0' > kprobe_events
> echo 1 > events/kprobes/enable
> ls
> cat trace
> echo 0 > events/kprobes/enable
>
> Every fork() call done on the system between those two echo commands (hence
> the "ls") should append a line to the trace file. For a more exhaustive
> test one could repeat this sequence for every register in the architecture.
>
> This should work the same on all architectures supporting kprobes. You just
> have to use the appropriate register names for your architecture after the
> "%".

Is this something we could codify into the selftests directory? It
seems like a great thing to capture in a single place somewhere (the
register lists, that is).

-Kees

>
>> Acked-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
>>
>> cheers
>>
>>
>
> Thanks,
> -dl
>



--
Kees Cook
Chrome OS Security
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
Please read the FAQ at http://www.tux.org/lkml/