[PATCH 0/7] s390/vdso: getrandom() vdso implementation

Heiko Carstens
2024-09-13T13:05:50Z

Hi Jason,

quite late but finally the s390 vdso getrandom implementation which applies
on top of your random git tree.

As a prerequisite this requires some changes to s390 core code to allow
alternatives in vdso code. It is fine when all of this gets routed via your
tree.

Please note that the first patch of this series is already in linux-next
[1], but given that it is so small it seems to be the easiest to apply it
also on your tree; but I'm sure somebody will complain :)

Thanks,
Heiko

[1] 0147addc4fb7 ("s390/facility: Disable compile time optimization for decompressor code")

Heiko Carstens (7):
s390/facility: Disable compile time optimization for decompressor code
s390/alternatives: Remove ALT_FACILITY_EARLY
s390/facility: Let test_facility() generate static branch if possible
s390/module: Provide find_section() helper
s390/vdso: Allow alternatives in vdso code
s390/vdso: Move vdso symbol handling to separate header file
s390/vdso: Wire up getrandom() vdso implementation

arch/s390/Kconfig | 1 +
arch/s390/include/asm/alternative.h | 6 +-
arch/s390/include/asm/facility.h | 37 +++-
arch/s390/include/asm/fpu-insn-asm.h | 22 +++
arch/s390/include/asm/module.h | 14 ++
arch/s390/include/asm/vdso-symbols.h | 17 ++
arch/s390/include/asm/vdso.h | 12 --
arch/s390/include/asm/vdso/getrandom.h | 40 +++++
arch/s390/include/asm/vdso/vsyscall.h | 15 ++
arch/s390/kernel/compat_signal.c | 2 +-
arch/s390/kernel/entry.S | 2 +-
arch/s390/kernel/signal.c | 2 +-
arch/s390/kernel/vdso.c | 26 ++-
arch/s390/kernel/vdso64/Makefile | 9 +-
arch/s390/kernel/vdso64/vdso.h | 1 +
arch/s390/kernel/vdso64/vdso64.lds.S | 7 +
arch/s390/kernel/vdso64/vgetrandom-chacha.S | 184 ++++++++++++++++++++
arch/s390/kernel/vdso64/vgetrandom.c | 14 ++
tools/arch/s390/vdso | 1 +
tools/testing/selftests/vDSO/Makefile | 2 +-
20 files changed, 378 insertions(+), 36 deletions(-)
create mode 100644 arch/s390/include/asm/vdso-symbols.h
create mode 100644 arch/s390/include/asm/vdso/getrandom.h
create mode 100644 arch/s390/kernel/vdso64/vgetrandom-chacha.S
create mode 100644 arch/s390/kernel/vdso64/vgetrandom.c
create mode 120000 tools/arch/s390/vdso

--
2.43.0