]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
crypto: x86/aes-gcm-vaes-avx2 - initialize full %rax return register
authorEric Biggers <ebiggers@kernel.org>
Sun, 2 Nov 2025 01:52:56 +0000 (18:52 -0700)
committerEric Biggers <ebiggers@kernel.org>
Mon, 3 Nov 2025 17:07:57 +0000 (09:07 -0800)
Update aes_gcm_dec_final_vaes_avx2() to be consistent with
aes_gcm_dec_final_aesni() and aes_gcm_dec_final_vaes_avx512() by
initializing the full %rax return register instead of just %al.
Technically this is unnecessary, since these functions return bool.  But
I think it's worth being extra careful with the result of the tag
comparison and also keeping the different implementations consistent.

Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://lore.kernel.org/r/20251102015256.171536-1-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
arch/x86/crypto/aes-gcm-vaes-avx2.S

index d9754e683bde3af302f872c4b2ec0b9eba29e92b..93c9504a488ffbb2f0043ae32f7a25b5ed89376b 100644 (file)
@@ -1123,6 +1123,7 @@ SYM_FUNC_END(aes_gcm_aad_update_vaes_avx2)
        lea             .Lselect_high_bytes_table(%rip), %rax
        vmovdqu         (%rax, TAGLEN64), %xmm1
        vpshufb         BSWAP_MASK, %xmm1, %xmm1 // select low bytes, not high
+       xor             %eax, %eax
        vptest          %xmm1, %xmm0
        sete            %al
 .endif