diff mbox series

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

Message ID 20230516181419.3633842-1-ardb@kernel.org (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show
Series crypto: x86/aria - Use 16 byte alignment for GFNI constant vectors | expand

Commit Message

Ard Biesheuvel May 16, 2023, 6:14 p.m. UTC
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 <ap420073@gmail.com>
Fixes: 8b84475318641c2b ("crypto: x86/aria-avx - Do not use avx2 instructions")
Reported-by: syzbot+a6abcf08bad8b18fd198@syzkaller.appspotmail.com
Tested-by: syzbot+a6abcf08bad8b18fd198@syzkaller.appspotmail.com
Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
---
 arch/x86/crypto/aria-aesni-avx-asm_64.S | 2 --
 1 file changed, 2 deletions(-)

Comments

Herbert Xu May 24, 2023, 10:13 a.m. UTC | #1
On Tue, May 16, 2023 at 08:14:19PM +0200, Ard Biesheuvel wrote:
> 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 <ap420073@gmail.com>
> Fixes: 8b84475318641c2b ("crypto: x86/aria-avx - Do not use avx2 instructions")
> Reported-by: syzbot+a6abcf08bad8b18fd198@syzkaller.appspotmail.com
> Tested-by: syzbot+a6abcf08bad8b18fd198@syzkaller.appspotmail.com
> Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
> ---
>  arch/x86/crypto/aria-aesni-avx-asm_64.S | 2 --
>  1 file changed, 2 deletions(-)

Patch applied.  Thanks.
diff mbox series

Patch

diff --git a/arch/x86/crypto/aria-aesni-avx-asm_64.S b/arch/x86/crypto/aria-aesni-avx-asm_64.S
index 7c1abc513f34621e..9556dacd984154a2 100644
--- a/arch/x86/crypto/aria-aesni-avx-asm_64.S
+++ b/arch/x86/crypto/aria-aesni-avx-asm_64.S
@@ -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: