Re: [PATCH v5 0/2] arm64: Implement getrandom() in vDSO

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



+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
> 




[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]
  Powered by Linux