crypto: shash - remove pointless checks of shash_alg::{export,import}
diff mbox series

Message ID 20190107030801.10096-1-ebiggers@kernel.org
State Accepted
Delegated to: Herbert Xu
Headers show
Series
  • crypto: shash - remove pointless checks of shash_alg::{export,import}
Related show

Commit Message

Eric Biggers Jan. 7, 2019, 3:08 a.m. UTC
From: Eric Biggers <ebiggers@google.com>

crypto_init_shash_ops_async() only gives the ahash tfm non-NULL
->export() and ->import() if the underlying shash alg has these
non-NULL.  This doesn't make sense because when an shash algorithm is
registered, shash_prepare_alg() sets a default ->export() and ->import()
if the implementor didn't provide them.  And elsewhere it's assumed that
all shash algs and ahash tfms have non-NULL ->export() and ->import().

Therefore, remove these unnecessary, always-true conditions.

Signed-off-by: Eric Biggers <ebiggers@google.com>
---
 crypto/shash.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Herbert Xu Jan. 18, 2019, 10:56 a.m. UTC | #1
On Sun, Jan 06, 2019 at 07:08:01PM -0800, Eric Biggers wrote:
> From: Eric Biggers <ebiggers@google.com>
> 
> crypto_init_shash_ops_async() only gives the ahash tfm non-NULL
> ->export() and ->import() if the underlying shash alg has these
> non-NULL.  This doesn't make sense because when an shash algorithm is
> registered, shash_prepare_alg() sets a default ->export() and ->import()
> if the implementor didn't provide them.  And elsewhere it's assumed that
> all shash algs and ahash tfms have non-NULL ->export() and ->import().
> 
> Therefore, remove these unnecessary, always-true conditions.
> 
> Signed-off-by: Eric Biggers <ebiggers@google.com>
> ---
>  crypto/shash.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)

Patch applied.  Thanks.

Patch
diff mbox series

diff --git a/crypto/shash.c b/crypto/shash.c
index 2bffdecf1f837..15b369c4745f6 100644
--- a/crypto/shash.c
+++ b/crypto/shash.c
@@ -388,10 +388,8 @@  int crypto_init_shash_ops_async(struct crypto_tfm *tfm)
 	crypto_ahash_set_flags(crt, crypto_shash_get_flags(shash) &
 				    CRYPTO_TFM_NEED_KEY);
 
-	if (alg->export)
-		crt->export = shash_async_export;
-	if (alg->import)
-		crt->import = shash_async_import;
+	crt->export = shash_async_export;
+	crt->import = shash_async_import;
 
 	crt->reqsize = sizeof(struct shash_desc) + crypto_shash_descsize(shash);