[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20210204155519.GA21837@arm.com>
Date: Thu, 4 Feb 2021 15:55:30 +0000
From: Dave Martin <Dave.Martin@....com>
To: "Chang S. Bae" <chang.seok.bae@...el.com>
Cc: bp@...e.de, tglx@...utronix.de, mingo@...nel.org, luto@...nel.org,
x86@...nel.org, linux-arch@...r.kernel.org, len.brown@...el.com,
tony.luck@...el.com, libc-alpha@...rceware.org,
ravi.v.shankar@...el.com, hjl.tools@...il.com, carlos@...hat.com,
mpe@...erman.id.au, jannh@...gle.com, linux-kernel@...r.kernel.org,
dave.hansen@...el.com, linux-api@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org
Subject: Re: [PATCH v5 1/5] uapi: Move the aux vector AT_MINSIGSTKSZ define
to uapi
On Wed, Feb 03, 2021 at 09:22:38AM -0800, Chang S. Bae wrote:
> Move the AT_MINSIGSTKSZ definition to generic Linux from arm64. It is
> already used as generic ABI in glibc's generic elf.h, and this move will
> prevent future namespace conflicts. In particular, x86 will re-use this
> generic definition.
>
> Signed-off-by: Chang S. Bae <chang.seok.bae@...el.com>
> Reviewed-by: Len Brown <len.brown@...el.com>
> Cc: Carlos O'Donell <carlos@...hat.com>
> Cc: Dave Martin <Dave.Martin@....com>
> Cc: libc-alpha@...rceware.org
> Cc: linux-arch@...r.kernel.org
> Cc: linux-api@...r.kernel.org
> Cc: linux-arm-kernel@...ts.infradead.org
> Cc: linux-kernel@...r.kernel.org
> ---
> Change from v4:
> * Added as a new patch (Carlos O'Donell)
> ---
> arch/arm64/include/uapi/asm/auxvec.h | 1 -
> include/uapi/linux/auxvec.h | 1 +
> 2 files changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/include/uapi/asm/auxvec.h b/arch/arm64/include/uapi/asm/auxvec.h
> index 743c0b84fd30..767d710c92aa 100644
> --- a/arch/arm64/include/uapi/asm/auxvec.h
> +++ b/arch/arm64/include/uapi/asm/auxvec.h
> @@ -19,7 +19,6 @@
>
> /* vDSO location */
> #define AT_SYSINFO_EHDR 33
> -#define AT_MINSIGSTKSZ 51 /* stack needed for signal delivery */
Since this is UAPI, I'm wondering whether we should try to preserve this
definition for users of <asm/auxvec.h>. (Indeed, it is not uncommon to
include <asm/> headers in userspace hackery, since the <linux/> headers
tend to interact badly with the the libc headers.)
In C11 at least, duplicate #defines are not an error if the definitions
are the same. I don't know about the history, but I suspect this was
true for older standards too. So maybe we can just keep this definition
with a duplicate definition in the common header.
Otherwise, we could have
#ifndef AT_MINSIGSTKSZ
#define AT_MINSIGSTKSZ 51
#endif
in include/linux/uapi/auxvec.h, and keep the arm64 header unchanged.
>
> #define AT_VECTOR_SIZE_ARCH 2 /* entries in ARCH_DLINFO */
>
> diff --git a/include/uapi/linux/auxvec.h b/include/uapi/linux/auxvec.h
> index abe5f2b6581b..cc4fa77bd2a7 100644
> --- a/include/uapi/linux/auxvec.h
> +++ b/include/uapi/linux/auxvec.h
> @@ -33,5 +33,6 @@
>
> #define AT_EXECFN 31 /* filename of program */
>
> +#define AT_MINSIGSTKSZ 51 /* stack needed for signal delivery */
>
> #endif /* _UAPI_LINUX_AUXVEC_H */
Otherwise, this looks fine as a concept.
AFAICT, no other arch is already using the value 51.
If nobody else objects to the loss of the definition from arm64's
<asm/auxvec.h> then I guess I can put up with that -- but I will wait to
see if anyone gives a view first.
Cheers
---Dave
Powered by blists - more mailing lists