Re: [PATCH v2] m68k: Avoid CONFIG_COLDFIRE switch in uapi header

From: Arnd Bergmann
Date: Tue Feb 20 2024 - 10:10:30 EST


On Tue, Feb 20, 2024, at 15:13, Greg Ungerer wrote:
> On 20/2/24 02:01, Thomas Huth wrote:
>> We should not use any CONFIG switches in uapi headers since these
>> only work during kernel compilation; they are not defined for
>> userspace. Fix it by moving the struct pt_regs to the kernel-internal
>> header instead - struct pt_regs does not seem to be required for
>> the userspace headers on m68k at all.
>>
>> Suggested-by: Greg Ungerer <gerg@xxxxxxxxxxxxxx>
>> Signed-off-by: Thomas Huth <thuth@xxxxxxxxxx>
>> ---
>> v2: Move the struct instead of changing the #ifdef
>>
>> See previous discussion here:
>> https://lore.kernel.org/lkml/6e3f2a2e-2430-4b4f-9ead-d9a4d5e42713@xxxxxxxxxxxxxx/
>
> I am fine with this. FWIW the following architectures do
> not define pt_regs in their uapi/ptrace.h header either:
> arc, arm64, loongarch, nios2, openrisc, riscv, s390, xtensa
> Though quite a few of them have a user_pt_regs instead.
>
> So for me:
>
> Acked-by: Greg Ungerer <gerg@xxxxxxxxxxxxxx>
>
> Geert, Arnd, do you have any thoughts on this?

It clearly doesn't change the ABI, so that part is fine.

If asm/ptrace.h is included by some userspace tool to
get the definition, it might cause a compile-time error
that needs a trivial source change.

This could be needed for ptrace (gdb, strace) or signal
handling and setjmp (libc), though it's more likely that these
already have their own copies.

Arnd