[PATCH] sh: remove CONFIG_VSYSCALL reference from UAPI

Thomas Weißschuh posted 1 patch 3 weeks, 6 days ago
arch/sh/include/uapi/asm/auxvec.h | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
[PATCH] sh: remove CONFIG_VSYSCALL reference from UAPI
Posted by Thomas Weißschuh 3 weeks, 6 days ago
The definition of AT_SYSINFO_EHDR was gated between CONFIG_VSYSCALL to
avoid a default gate VMA to be created. However that default gate VMA
was removed entirely in commit a6c19dfe3994
("arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area").

Remove the now unnecessary conditional.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
---
 arch/sh/include/uapi/asm/auxvec.h | 6 +-----
 1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/arch/sh/include/uapi/asm/auxvec.h b/arch/sh/include/uapi/asm/auxvec.h
index 8eb47ede7193..63fcc39e2c6a 100644
--- a/arch/sh/include/uapi/asm/auxvec.h
+++ b/arch/sh/include/uapi/asm/auxvec.h
@@ -13,14 +13,10 @@
  */
 #define AT_FPUCW		18	/* Used FPU control word.  */
 
-#if defined(CONFIG_VSYSCALL) || !defined(__KERNEL__)
 /*
- * Only define this in the vsyscall case, the entry point to
- * the vsyscall page gets placed here. The kernel will attempt
- * to build a gate VMA we don't care about otherwise..
+ * The entry point to the vsyscall page gets placed here.
  */
 #define AT_SYSINFO_EHDR		33
-#endif
 
 /*
  * More complete cache descriptions than AT_[DIU]CACHEBSIZE.  If the

---
base-commit: 8f0b4cce4481fb22653697cced8d0d04027cb1e8
change-id: 20260112-uapi-sh-at-sysinfo-ehdr-f26a12ec5940

Best regards,
-- 
Thomas Weißschuh <thomas.weissschuh@linutronix.de>

Re: [PATCH] sh: remove CONFIG_VSYSCALL reference from UAPI
Posted by John Paul Adrian Glaubitz 3 weeks, 6 days ago
Hi Thomas,

On Mon, 2026-01-12 at 12:02 +0100, Thomas Weißschuh wrote:
> The definition of AT_SYSINFO_EHDR was gated between CONFIG_VSYSCALL to
> avoid a default gate VMA to be created. However that default gate VMA
> was removed entirely in commit a6c19dfe3994
> ("arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area").
> 
> Remove the now unnecessary conditional.
> 
> Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> ---
>  arch/sh/include/uapi/asm/auxvec.h | 6 +-----
>  1 file changed, 1 insertion(+), 5 deletions(-)
> 
> diff --git a/arch/sh/include/uapi/asm/auxvec.h b/arch/sh/include/uapi/asm/auxvec.h
> index 8eb47ede7193..63fcc39e2c6a 100644
> --- a/arch/sh/include/uapi/asm/auxvec.h
> +++ b/arch/sh/include/uapi/asm/auxvec.h
> @@ -13,14 +13,10 @@
>   */
>  #define AT_FPUCW		18	/* Used FPU control word.  */
>  
> -#if defined(CONFIG_VSYSCALL) || !defined(__KERNEL__)
>  /*
> - * Only define this in the vsyscall case, the entry point to
> - * the vsyscall page gets placed here. The kernel will attempt
> - * to build a gate VMA we don't care about otherwise..
> + * The entry point to the vsyscall page gets placed here.
>   */
>  #define AT_SYSINFO_EHDR		33
> -#endif
>  
>  /*
>   * More complete cache descriptions than AT_[DIU]CACHEBSIZE.  If the

Thanks for your patch!

I don't really know what AT_SYSINFO_EHDR is about. Could you explain the background
a little so that I have a better understanding of what I am reviewing?

Thanks,
Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913
Re: [PATCH] sh: remove CONFIG_VSYSCALL reference from UAPI
Posted by Thomas Weißschuh 3 weeks, 6 days ago
On Mon, Jan 12, 2026 at 12:14:26PM +0100, John Paul Adrian Glaubitz wrote:
> Hi Thomas,
> 
> On Mon, 2026-01-12 at 12:02 +0100, Thomas Weißschuh wrote:
> > The definition of AT_SYSINFO_EHDR was gated between CONFIG_VSYSCALL to
> > avoid a default gate VMA to be created. However that default gate VMA
> > was removed entirely in commit a6c19dfe3994
> > ("arm64,ia64,ppc,s390,sh,tile,um,x86,mm: remove default gate area").
> > 
> > Remove the now unnecessary conditional.
> > 
> > Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
> > ---
> >  arch/sh/include/uapi/asm/auxvec.h | 6 +-----
> >  1 file changed, 1 insertion(+), 5 deletions(-)
> > 
> > diff --git a/arch/sh/include/uapi/asm/auxvec.h b/arch/sh/include/uapi/asm/auxvec.h
> > index 8eb47ede7193..63fcc39e2c6a 100644
> > --- a/arch/sh/include/uapi/asm/auxvec.h
> > +++ b/arch/sh/include/uapi/asm/auxvec.h
> > @@ -13,14 +13,10 @@
> >   */
> >  #define AT_FPUCW		18	/* Used FPU control word.  */
> >  
> > -#if defined(CONFIG_VSYSCALL) || !defined(__KERNEL__)
> >  /*
> > - * Only define this in the vsyscall case, the entry point to
> > - * the vsyscall page gets placed here. The kernel will attempt
> > - * to build a gate VMA we don't care about otherwise..
> > + * The entry point to the vsyscall page gets placed here.
> >   */
> >  #define AT_SYSINFO_EHDR		33
> > -#endif
> >  
> >  /*
> >   * More complete cache descriptions than AT_[DIU]CACHEBSIZE.  If the
> 
> Thanks for your patch!
> 
> I don't really know what AT_SYSINFO_EHDR is about. Could you explain the background
> a little so that I have a better understanding of what I am reviewing?

It is the entrypoint to the vDSO. From getauxval(3):

 AT_SYSINFO_EHDR
        The address of a page containing the virtual Dynamic Shared Object (vDSO) that the kernel creates
        in order to provide fast implementations of certain system calls.


That UAPI constant needs to be exposed to userspace even if the specific
kernel does not have a vDSO. This is the current behavior which is preserved.
Userspace will detect the presence or absence of the vDSO based in the
auxiliary vector.


Thomas
Re: [PATCH] sh: remove CONFIG_VSYSCALL reference from UAPI
Posted by John Paul Adrian Glaubitz 3 weeks, 6 days ago
Hi,

On Mon, 2026-01-12 at 12:58 +0100, Thomas Weißschuh wrote:
> > Thanks for your patch!
> > 
> > I don't really know what AT_SYSINFO_EHDR is about. Could you explain the background
> > a little so that I have a better understanding of what I am reviewing?
> 
> It is the entrypoint to the vDSO. From getauxval(3):
> 
>  AT_SYSINFO_EHDR
>         The address of a page containing the virtual Dynamic Shared Object (vDSO) that the kernel creates
>         in order to provide fast implementations of certain system calls.
> 
> 
> That UAPI constant needs to be exposed to userspace even if the specific
> kernel does not have a vDSO. This is the current behavior which is preserved.
> Userspace will detect the presence or absence of the vDSO based in the
> auxiliary vector.

Thanks, this explains a lot. I will review the patch later this week.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913