[PATCH v2 0/8] vdso: Use only headers from the vdso/ namespace
From: Vincenzo Frascino
Date: Mon Sep 23 2024 - 10:20:39 EST
The recent implementation of getrandom in the generic vdso library,
includes headers from outside of the vdso/ namespace.
The purpose of this patch series is to refactor the code to make sure
that the library uses only the allowed namespace.
The series has been rebased on [1] to simplify the testing.
[1] git://git.kernel.org/pub/scm/linux/kernel/git/crng/random.git master
Changes:
--------
v2:
- Added common PAGE_SIZE and PAGE_MASK definitions.
- Added opencoded macros where not defined.
- Dropped VDSO_PAGE_* redefinitions.
Cc: Andy Lutomirski <luto@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Jason A. Donenfeld <Jason@xxxxxxxxx>
Cc: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
Cc: Nicholas Piggin <npiggin@xxxxxxxxx>
Cc: Christophe Leroy <christophe.leroy@xxxxxxxxxx>
Cc: Naveen N Rao <naveen@xxxxxxxxxx>
Cc: Ingo Molnar <mingo@xxxxxxxxxx>
Cc: Borislav Petkov <bp@xxxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Theodore Ts'o <tytso@xxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Cc: Steven Rostedt <rostedt@xxxxxxxxxxx>
Cc: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
Cc: Mathieu Desnoyers <mathieu.desnoyers@xxxxxxxxxxxx>
Signed-off-by: Vincenzo Frascino <vincenzo.frascino@xxxxxxx>
Vincenzo Frascino (8):
x86: vdso: Introduce asm/vdso/mman.h
arm64: vdso: Introduce asm/vdso/mman.h
vdso: Introduce vdso/mman.h
vdso: Introduce vdso/page.h
x86: vdso: Modify asm/vdso/getrandom.h to include datapage
vdso: Modify vdso/getrandom.h to include the asm header
vdso: Introduce uapi/vdso/random.h
vdso: Modify getrandom to include the correct namespace.
arch/alpha/include/asm/page.h | 6 +----
arch/arc/include/uapi/asm/page.h | 7 +++--
arch/arm/include/asm/page.h | 5 +---
arch/arm64/include/asm/page-def.h | 5 +---
arch/arm64/include/asm/vdso/mman.h | 15 +++++++++++
arch/csky/include/asm/page.h | 8 ++----
arch/hexagon/include/asm/page.h | 4 +--
arch/loongarch/include/asm/page.h | 7 +----
arch/m68k/include/asm/page.h | 6 ++---
arch/microblaze/include/asm/page.h | 5 +---
arch/mips/include/asm/page.h | 7 +----
arch/nios2/include/asm/page.h | 7 +----
arch/openrisc/include/asm/page.h | 11 +-------
arch/parisc/include/asm/page.h | 4 +--
arch/powerpc/include/asm/page.h | 10 +------
arch/riscv/include/asm/page.h | 4 +--
arch/s390/include/asm/page.h | 4 +--
arch/sh/include/asm/page.h | 6 ++---
arch/sparc/include/asm/page_32.h | 4 +--
arch/sparc/include/asm/page_64.h | 4 +--
arch/um/include/asm/page.h | 5 +---
arch/x86/include/asm/page_types.h | 5 +---
arch/x86/include/asm/vdso/getrandom.h | 2 ++
arch/x86/include/asm/vdso/mman.h | 15 +++++++++++
arch/xtensa/include/asm/page.h | 8 +-----
include/uapi/linux/random.h | 26 +-----------------
include/uapi/vdso/random.h | 38 +++++++++++++++++++++++++++
include/vdso/datapage.h | 2 ++
include/vdso/getrandom.h | 1 +
include/vdso/mman.h | 7 +++++
include/vdso/page.h | 18 +++++++++++++
lib/vdso/getrandom.c | 22 ++++++++--------
32 files changed, 137 insertions(+), 141 deletions(-)
create mode 100644 arch/arm64/include/asm/vdso/mman.h
create mode 100644 arch/x86/include/asm/vdso/mman.h
create mode 100644 include/uapi/vdso/random.h
create mode 100644 include/vdso/mman.h
create mode 100644 include/vdso/page.h
--
2.34.1