Skip to contentSkip to conversation

crypto: x86/aria - Use 16 byte alignment for GFNI constant vectors

PATCH In review Ard Biesheuvel 2 participants 2 messages May 16, 2023 – May 24, 2023

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 crypto: x86/aria - Use 16 byte alignment for GFNI constant vectors

The GFNI routines in the AVX version of the ARIA implementation now use explicit VMOVDQA instructions to load the constant input vectors, which means they must be 16 byte aligned. So ensure that this is the case, by dropping the section split and the incorrect .align 8 directive, and emitting the constants into the 16-byte aligned section instead.

Note that the AVX2 version of this code deviates from this pattern, and does not require a similar fix, given that it loads these contants as 8-byte memory operands, for which AVX2 permits any alignment.

Cc Taehee Yoo <[email protected]>
Fixes 8b84475318641c2b ("crypto: x86/aria-avx - Do not use avx2 instructions")
Reported-by [email protected]
---
 arch/x86/crypto/aria-aesni-avx-asm_64.S | 2 --
 1 file changed, 2 deletions(-)
arch/x86/crypto/aria-aesni-avx-asm_64.S +0 -2
index 7c1abc513f34621e..9556dacd984154a2 100644
@@ -773,8 +773,6 @@
 	.octa 0x3F893781E95FE1576CDA64D2BA0CB204
 
 #ifdef CONFIG_AS_GFNI
-.section	.rodata.cst8, "aM", @progbits, 8
-.align 8
 /* AES affine: */
 #define tf_aff_const BV8(1, 1, 0, 0, 0, 1, 1, 0)
 .Ltf_aff_bitmatrix:
Signature · 1 line
2.39.2
maintainer
#1 lore raw
Quoted 10 lines · Ard Biesheuvel

The GFNI routines in the AVX version of the ARIA implementation now use explicit VMOVDQA instructions to load the constant input vectors, which means they must be 16 byte aligned. So ensure that this is the case, by dropping the section split and the incorrect .align 8 directive, and emitting the constants into the 16-byte aligned section instead.

Note that the AVX2 version of this code deviates from this pattern, and does not require a similar fix, given that it loads these contants as 8-byte memory operands, for which AVX2 permits any alignment.

Quoted 8 lines
Cc Taehee Yoo <[email protected]>
Fixes 8b84475318641c2b ("crypto: x86/aria-avx - Do not use avx2 instructions")
Reported-by [email protected]
---
 arch/x86/crypto/aria-aesni-avx-asm_64.S | 2 --
 1 file changed, 2 deletions(-)

Patch applied. Thanks.

Signature · 3 lines
Email: Herbert Xu <[email protected]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt