Commit ca94e937 authored by Eric Biggers's avatar Eric Biggers Committed by Herbert Xu

crypto: algapi - make crypto_grab_spawn() handle an ERR_PTR() name

To allow further simplifying template ->create() functions, make
crypto_grab_spawn() handle an ERR_PTR() name by passing back the error.

For most templates, this will allow the result of crypto_attr_alg_name()
to be passed directly to crypto_grab_*(), rather than first having to
assign it to a variable [where it can then potentially be misused, as it
was in the rfc7539 template prior to commit 5e27f38f ("crypto:
chacha20poly1305 - set cra_name correctly")] and check it for error.
Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
parent ff670627
...@@ -720,6 +720,10 @@ int crypto_grab_spawn(struct crypto_spawn *spawn, const char *name, ...@@ -720,6 +720,10 @@ int crypto_grab_spawn(struct crypto_spawn *spawn, const char *name,
struct crypto_alg *alg; struct crypto_alg *alg;
int err; int err;
/* Allow the result of crypto_attr_alg_name() to be passed directly */
if (IS_ERR(name))
return PTR_ERR(name);
alg = crypto_find_alg(name, spawn->frontend, type, mask); alg = crypto_find_alg(name, spawn->frontend, type, mask);
if (IS_ERR(alg)) if (IS_ERR(alg))
return PTR_ERR(alg); return PTR_ERR(alg);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment