From 03982b4cfadca0e650b384c9539b2fdb5f8aa012 Mon Sep 17 00:00:00 2001 From: David Benjamin Date: Sun, 12 May 2024 22:48:09 -0400 Subject: Don't bother checking for NULL pointers in AES key schedule assembly Some of the AES implementations tried to cleanly check for NULL input and output pointers, but others did not, so callers could not rely on this. (If we end up needing to check this for some reason, we should do it in the C wrapper.) Change-Id: I495e5b3689837242b5c51bf01840997845190754 Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/68688 Reviewed-by: Bob Beck Commit-Queue: David Benjamin --- crypto/fipsmodule/aes/asm/aesni-x86.pl | 9 --------- crypto/fipsmodule/aes/asm/aesni-x86_64.pl | 6 ------ crypto/fipsmodule/aes/asm/aesv8-armx.pl | 5 ----- 3 files changed, 20 deletions(-) (limited to 'crypto') diff --git a/crypto/fipsmodule/aes/asm/aesni-x86.pl b/crypto/fipsmodule/aes/asm/aesni-x86.pl index 7d97adc..bb5ee94 100644 --- a/crypto/fipsmodule/aes/asm/aesni-x86.pl +++ b/crypto/fipsmodule/aes/asm/aesni-x86.pl @@ -2122,10 +2122,6 @@ if ($PREFIX eq $AESNI_PREFIX) { &function_begin_B("_aesni_set_encrypt_key"); &push ("ebp"); &push ("ebx"); - &test ("eax","eax"); - &jz (&label("bad_pointer")); - &test ($key,$key); - &jz (&label("bad_pointer")); &call (&label("pic")); &set_label("pic"); @@ -2474,11 +2470,6 @@ if ($PREFIX eq $AESNI_PREFIX) { &pop ("ebp"); &ret (); -&set_label("bad_pointer",4); - &mov ("eax",-1); - &pop ("ebx"); - &pop ("ebp"); - &ret (); &set_label("bad_keybits",4); &pxor ("xmm0","xmm0"); &mov ("eax",-2); diff --git a/crypto/fipsmodule/aes/asm/aesni-x86_64.pl b/crypto/fipsmodule/aes/asm/aesni-x86_64.pl index 6a85862..17ec466 100644 --- a/crypto/fipsmodule/aes/asm/aesni-x86_64.pl +++ b/crypto/fipsmodule/aes/asm/aesni-x86_64.pl @@ -3275,12 +3275,6 @@ __aesni_set_encrypt_key: .cfi_adjust_cfa_offset 8 .seh_stackalloc 8 .seh_endprologue - mov \$-1,%rax - test $inp,$inp - jz .Lenc_key_ret - test $key,$key - jz .Lenc_key_ret - movups ($inp),%xmm0 # pull first 128 bits of *userKey xorps %xmm4,%xmm4 # low dword of xmm4 is assumed 0 leaq OPENSSL_ia32cap_P(%rip),%r10 diff --git a/crypto/fipsmodule/aes/asm/aesv8-armx.pl b/crypto/fipsmodule/aes/asm/aesv8-armx.pl index 9f62232..46b98c9 100644 --- a/crypto/fipsmodule/aes/asm/aesv8-armx.pl +++ b/crypto/fipsmodule/aes/asm/aesv8-armx.pl @@ -102,11 +102,6 @@ $code.=<<___ if ($flavour =~ /64/); add x29,sp,#0 ___ $code.=<<___; - mov $ptr,#-1 - cmp $inp,#0 - b.eq .Lenc_key_abort - cmp $out,#0 - b.eq .Lenc_key_abort mov $ptr,#-2 cmp $bits,#128 b.lt .Lenc_key_abort -- cgit v1.1