On Sat, 8 Apr 2023 at 17:27, Ard Biesheuvel <ardb@xxxxxxxxxx> wrote: > > This is preparatory work for allowing the kernel to be built as a PIE > executable, which relies mostly on RIP-relative symbol references from > code, which don't need to be updated when a binary is loaded at an > address different from its link time address. > > Most changes are quite straight-forward, i.e., just adding a (%rip) > suffix is enough in many cases. However, some are slightly trickier, and > need some minor reshuffling of the asm code to get rid of the absolute > references in the code. > > Tested with CONFIG_CRYPTO_MANAGER_EXTRA_TESTS=y on a x86 CPU that > implements AVX, AVX2 and AVX512. > > Cc: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> > Cc: Eric Biggers <ebiggers@xxxxxxxxxx> > Cc: Kees Cook <keescook@xxxxxxxxxxxx> > > Ard Biesheuvel (10): > crypto: x86/camellia - Use RIP-relative addressing > crypto: x86/cast5 - Use RIP-relative addressing > crypto: x86/cast6 - Use RIP-relative addressing > crypto: x86/des3 - Use RIP-relative addressing Note: the patches above are Co-developed-by: Thomas Garnier <thgarnie@xxxxxxxxxxxx> Signed-off-by: Thomas Garnier <thgarnie@xxxxxxxxxxxx> but this got lost inadvertently - apologies. Herbert: will patchwork pick those up if I put them in a reply to each of those individual patches? Thanks, > crypto: x86/aegis128 - Use RIP-relative addressing > crypto: x86/aesni - Use RIP-relative addressing > crypto: x86/aria - Use RIP-relative addressing > crypto: x86/crc32c - Use RIP-relative addressing > crypto: x86/ghash - Use RIP-relative addressing > crypto: x86/sha256 - Use RIP-relative addressing > > arch/x86/crypto/aegis128-aesni-asm.S | 6 +- > arch/x86/crypto/aesni-intel_asm.S | 2 +- > arch/x86/crypto/aesni-intel_avx-x86_64.S | 6 +- > arch/x86/crypto/aria-aesni-avx-asm_64.S | 28 +++--- > arch/x86/crypto/aria-aesni-avx2-asm_64.S | 28 +++--- > arch/x86/crypto/aria-gfni-avx512-asm_64.S | 24 ++--- > arch/x86/crypto/camellia-aesni-avx-asm_64.S | 30 +++--- > arch/x86/crypto/camellia-aesni-avx2-asm_64.S | 30 +++--- > arch/x86/crypto/camellia-x86_64-asm_64.S | 8 +- > arch/x86/crypto/cast5-avx-x86_64-asm_64.S | 50 +++++----- > arch/x86/crypto/cast6-avx-x86_64-asm_64.S | 44 +++++---- > arch/x86/crypto/crc32c-pcl-intel-asm_64.S | 3 +- > arch/x86/crypto/des3_ede-asm_64.S | 96 +++++++++++++------- > arch/x86/crypto/ghash-clmulni-intel_asm.S | 4 +- > arch/x86/crypto/sha256-avx2-asm.S | 18 ++-- > 15 files changed, 213 insertions(+), 164 deletions(-) > > -- > 2.39.2 >