Re: [PATCH 03/15] binfmt_flat: provide a default version of flat_get_relocate_addr

From: Vladimir Murzin
Date: Tue Jun 11 2019 - 05:50:50 EST


On 6/10/19 10:20 PM, Christoph Hellwig wrote:
> This way only the two architectures that do masking need to provide
> the helper.
>
> Signed-off-by: Christoph Hellwig <hch@xxxxxx>
> ---
> arch/arm/include/asm/flat.h | 2 --
> arch/c6x/include/asm/flat.h | 1 -
> arch/m68k/include/asm/flat.h | 1 -
> arch/sh/include/asm/flat.h | 1 -
> arch/xtensa/include/asm/flat.h | 1 -
> fs/binfmt_flat.c | 4 ++++
> 6 files changed, 4 insertions(+), 6 deletions(-)


For ARM bits:

Tested-by: Vladimir Murzin <vladimir.murzin@xxxxxxx>
Reviewed-by: Vladimir Murzin <vladimir.murzin@xxxxxxx>


>
> diff --git a/arch/arm/include/asm/flat.h b/arch/arm/include/asm/flat.h
> index 576241d74704..a185fe023b60 100644
> --- a/arch/arm/include/asm/flat.h
> +++ b/arch/arm/include/asm/flat.h
> @@ -30,6 +30,4 @@ static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel)
> #endif
> }
>
> -#define flat_get_relocate_addr(rel) (rel)
> -
> #endif /* __ARM_FLAT_H__ */
> diff --git a/arch/c6x/include/asm/flat.h b/arch/c6x/include/asm/flat.h
> index ac87368efad1..c4d703b454c6 100644
> --- a/arch/c6x/include/asm/flat.h
> +++ b/arch/c6x/include/asm/flat.h
> @@ -17,6 +17,5 @@ static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel)
> put_unaligned(addr, (__force u32 *)rp);
> return 0;
> }
> -#define flat_get_relocate_addr(rel) (rel)
>
> #endif /* __ASM_C6X_FLAT_H */
> diff --git a/arch/m68k/include/asm/flat.h b/arch/m68k/include/asm/flat.h
> index 955617bb937b..217fa89c8e34 100644
> --- a/arch/m68k/include/asm/flat.h
> +++ b/arch/m68k/include/asm/flat.h
> @@ -28,7 +28,6 @@ static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel)
> return put_user(addr, rp);
> #endif
> }
> -#define flat_get_relocate_addr(rel) (rel)
>
> #define FLAT_PLAT_INIT(regs) \
> do { \
> diff --git a/arch/sh/include/asm/flat.h b/arch/sh/include/asm/flat.h
> index 6f3b18679a98..0d520b4cc5ea 100644
> --- a/arch/sh/include/asm/flat.h
> +++ b/arch/sh/include/asm/flat.h
> @@ -24,7 +24,6 @@ static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel)
> put_unaligned(addr, (__force u32 *)rp);
> return 0;
> }
> -#define flat_get_relocate_addr(rel) (rel)
>
> #define FLAT_PLAT_INIT(_r) \
> do { _r->regs[0]=0; _r->regs[1]=0; _r->regs[2]=0; _r->regs[3]=0; \
> diff --git a/arch/xtensa/include/asm/flat.h b/arch/xtensa/include/asm/flat.h
> index b1bc0d9a8d4e..a1d88aa3ef8a 100644
> --- a/arch/xtensa/include/asm/flat.h
> +++ b/arch/xtensa/include/asm/flat.h
> @@ -17,6 +17,5 @@ static inline int flat_put_addr_at_rp(u32 __user *rp, u32 addr, u32 rel)
> put_unaligned(addr, (__force u32 *)rp);
> return 0;
> }
> -#define flat_get_relocate_addr(rel) (rel)
>
> #endif /* __ASM_XTENSA_FLAT_H */
> diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c
> index a4c0b245ab1f..c0e4535dc1ec 100644
> --- a/fs/binfmt_flat.c
> +++ b/fs/binfmt_flat.c
> @@ -43,6 +43,10 @@
> #include <asm/cacheflush.h>
> #include <asm/page.h>
>
> +#ifndef flat_get_relocate_addr
> +#define flat_get_relocate_addr(rel) (rel)
> +#endif
> +
> /****************************************************************************/
>
> /*
>