[PATCH v5 0/2] arm64: Implement getrandom() in vDSO
Will Deacon
will at kernel.org
Wed Sep 4 05:05:06 PDT 2024
+Ard as he had helpful comments on the previous version.
On Tue, Sep 03, 2024 at 12:09:15PM +0000, Adhemerval Zanella wrote:
> Implement stack-less ChaCha20 and wire it with the generic vDSO
> getrandom code. The first patch is Mark's fix to the alternatives
> system in the vDSO, while the the second is the actual vDSO work.
>
> Changes from v4:
> - Improve BE handling.
>
> Changes from v3:
> - Use alternative_has_cap_likely instead of ALTERNATIVE.
> - Header/include and comment fixups.
>
> Changes from v2:
> - Refactor Makefile to use same flags for vgettimeofday and
> vgetrandom.
> - Removed rodata usage and fixed BE on vgetrandom-chacha.S.
>
> Changes from v1:
> - Fixed style issues and typos.
> - Added fallback for systems without NEON support.
> - Avoid use of non-volatile vector registers in neon chacha20.
> - Use c-getrandom-y for vgetrandom.c.
> - Fixed TIMENS vdso_rnd_data access.
>
> Adhemerval Zanella (1):
> arm64: vdso: wire up getrandom() vDSO implementation
>
> Mark Rutland (1):
> arm64: alternative: make alternative_has_cap_likely() VDSO compatible
>
> arch/arm64/Kconfig | 1 +
> arch/arm64/include/asm/alternative-macros.h | 4 +
> arch/arm64/include/asm/mman.h | 6 +-
> arch/arm64/include/asm/vdso.h | 6 +
> arch/arm64/include/asm/vdso/getrandom.h | 50 ++++++
> arch/arm64/include/asm/vdso/vsyscall.h | 10 ++
> arch/arm64/kernel/vdso.c | 6 -
> arch/arm64/kernel/vdso/Makefile | 25 ++-
> arch/arm64/kernel/vdso/vdso | 1 +
> arch/arm64/kernel/vdso/vdso.lds.S | 4 +
> arch/arm64/kernel/vdso/vgetrandom-chacha.S | 172 ++++++++++++++++++++
> arch/arm64/kernel/vdso/vgetrandom.c | 15 ++
> tools/arch/arm64/vdso | 1 +
> tools/include/linux/compiler.h | 4 +
> tools/testing/selftests/vDSO/Makefile | 3 +-
> 15 files changed, 292 insertions(+), 16 deletions(-)
> create mode 100644 arch/arm64/include/asm/vdso/getrandom.h
> create mode 120000 arch/arm64/kernel/vdso/vdso
> create mode 100644 arch/arm64/kernel/vdso/vgetrandom-chacha.S
> create mode 100644 arch/arm64/kernel/vdso/vgetrandom.c
> create mode 120000 tools/arch/arm64/vdso
>
> --
> 2.43.0
>
More information about the linux-arm-kernel
mailing list