[PATCH 1/3] powerpc: Split user/kernel definitions of struct pt_regs

Michael Ellerman mpe at ellerman.id.au
Mon Oct 15 23:02:19 AEDT 2018


Nicholas Piggin <npiggin at gmail.com> writes:
> On Sat, 13 Oct 2018 21:56:44 +1100
> Michael Ellerman <mpe at ellerman.id.au> wrote:
>
>> We use a shared definition for struct pt_regs in uapi/asm/ptrace.h.
>> That means the layout of the structure is ABI, ie. we can't change it.
>> 
>> That would be fine if it was only used to describe the user-visible
>> register state of a process, but it's also the struct we use in the
>> kernel to describe the registers saved in an interrupt frame.
>> 
>> We'd like more flexibility in the content (and possibly layout) of the
>> kernel version of the struct, but currently that's not possible.
>> 
>> So split the definition into a user-visible definition which remains
>> unchanged, and a kernel internal one.
>> 
>> At the moment they're still identical, and we check that at build
>> time. That's because we have code (in ptrace etc.) that assumes that
>> they are the same. We will fix that code in future patches, and then
>> we can break the strict symmetry between the two structs.
>> 
>> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
>
> Yeah this looks much better than my int_frame thing, thanks.

Thanks. More bug prone to :)

But hopefully it will pay off in the long run.

cheers


More information about the Linuxppc-dev mailing list