[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20251028-uml-remove-32bit-pseudo-vdso-v1-0-e930063eff5f@weissschuh.net>
Date: Tue, 28 Oct 2025 10:15:35 +0100
From: Thomas Weißschuh <linux@...ssschuh.net>
To: Richard Weinberger <richard@....at>,
Anton Ivanov <anton.ivanov@...bridgegreys.com>,
Johannes Berg <johannes@...solutions.net>,
Thomas Gleixner <tglx@...utronix.de>, Ingo Molnar <mingo@...hat.com>,
Borislav Petkov <bp@...en8.de>, Dave Hansen <dave.hansen@...ux.intel.com>,
x86@...nel.org, "H. Peter Anvin" <hpa@...or.com>,
Kees Cook <kees@...nel.org>
Cc: linux-um@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-mm@...ck.org,
Thomas Weißschuh <linux@...ssschuh.net>
Subject: [PATCH 00/10] um: remove vDSO passthrough on 32bit x86
Inheriting the vDSO from the host is problematic. The values read
from the time functions will not be correct for the UML kernel.
Furthermore the start and end of the vDSO are not stable or
detectable by userspace. Specifically the vDSO datapages start
before AT_SYSINFO_EHDR and the vDSO itself is larger than a single page.
This codepath is only used on 32bit x86 UML. In my testing with both
32bit and 64bit hosts the passthrough functionality has always been
disabled anyways due to the checks against envp in scan_elf_aux().
Signed-off-by: Thomas Weißschuh <linux@...ssschuh.net>
---
Thomas Weißschuh (10):
um: Split out default elf_aux_platform
x86/um: Move ELF_PLATFORM fallback to x86-specific code
um: Split out default elf_aux_hwcap
x86/um: Do not inherit vDSO from host
x86/um: Drop gate area handling
um: Remove fixaddr_user_init()
um: Remove redundant range check from __access_ok_vsyscall()
um: Remove __access_ok_vsyscall()
x86/um: Remove FIXADDR_USER_START and FIXADDR_USE_END
um: Always set up AT_HWCAP and AT_PLATFORM
arch/um/include/asm/page.h | 4 --
arch/um/include/asm/uaccess.h | 9 +---
arch/um/kernel/mem.c | 107 ------------------------------------------
arch/um/os-Linux/Makefile | 4 +-
arch/um/os-Linux/elf_aux.c | 37 +++------------
arch/um/os-Linux/main.c | 4 --
arch/um/os-Linux/user_syms.c | 6 ---
arch/x86/um/Kconfig | 4 --
arch/x86/um/Makefile | 5 +-
arch/x86/um/asm/elf.h | 39 ++-------------
arch/x86/um/elfcore.c | 78 ------------------------------
arch/x86/um/mem_32.c | 50 --------------------
12 files changed, 15 insertions(+), 332 deletions(-)
---
base-commit: 83e4187d1b952c36ffc2d01a2e532ad8a9e80a76
change-id: 20250925-uml-remove-32bit-pseudo-vdso-8b02724e8626
Best regards,
--
Thomas Weißschuh <linux@...ssschuh.net>
Powered by blists - more mailing lists