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