Re: [PATCH v3 02/22] compat: provide compat_ptr() on all architectures

From: H. Peter Anvin
Date: Mon Jan 06 2020 - 13:00:47 EST


On 2020-01-02 06:55, Arnd Bergmann wrote:
> In order to avoid needless #ifdef CONFIG_COMPAT checks,
> move the compat_ptr() definition to linux/compat.h
> where it can be seen by any file regardless of the
> architecture.
>
> Only s390 needs a special definition, this can use the
> self-#define trick we have elsewhere.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> arch/arm64/include/asm/compat.h | 17 -----------------
> arch/mips/include/asm/compat.h | 18 ------------------
> arch/parisc/include/asm/compat.h | 17 -----------------
> arch/powerpc/include/asm/compat.h | 17 -----------------
> arch/powerpc/oprofile/backtrace.c | 2 +-
> arch/s390/include/asm/compat.h | 6 +-----
> arch/sparc/include/asm/compat.h | 17 -----------------
> arch/x86/include/asm/compat.h | 17 -----------------
> include/linux/compat.h | 18 ++++++++++++++++++
> 9 files changed, 20 insertions(+), 109 deletions(-)
>

For x86:

Reviewed-by: H. Peter Anvin <hpa@xxxxxxxxx>

It still suffers from the zero-one-infinity rule failure of the compat
architecture as a whole, but that is a very different problem. In this case
"compat" is obviously meaning "a 32-on-64 ABI" and simply centralizes a common
API, which is a Good Thing[TM].

-hpa