Linux cryptographic layer development
 help / color / mirror / Atom feed
* [PATCH v5 0/2] arm64: Implement getrandom() in vDSO
@ 2024-09-03 12:09 Adhemerval Zanella
  2024-09-03 12:09 ` [PATCH v5 1/2] arm64: alternative: make alternative_has_cap_likely() VDSO compatible Adhemerval Zanella
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Adhemerval Zanella @ 2024-09-03 12:09 UTC (permalink / raw)
  To: Jason A . Donenfeld, Theodore Ts'o, linux-kernel,
	linux-crypto, linux-arm-kernel, linux-arch, Catalin Marinas,
	Will Deacon, Thomas Gleixner, Eric Biggers, Christophe Leroy

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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2024-09-04 15:57 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-03 12:09 [PATCH v5 0/2] arm64: Implement getrandom() in vDSO Adhemerval Zanella
2024-09-03 12:09 ` [PATCH v5 1/2] arm64: alternative: make alternative_has_cap_likely() VDSO compatible Adhemerval Zanella
2024-09-03 12:09 ` [PATCH v5 2/2] arm64: vdso: wire up getrandom() vDSO implementation Adhemerval Zanella
2024-09-04 12:05 ` [PATCH v5 0/2] arm64: Implement getrandom() in vDSO Will Deacon
2024-09-04 12:28   ` Ard Biesheuvel
2024-09-04 13:53     ` Jason A. Donenfeld
2024-09-04 15:02       ` Will Deacon
2024-09-04 15:56         ` Jason A. Donenfeld

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox