Skip to content

Commit

Permalink
crypto: pkcs1pad - comply with crypto_akcipher_maxsize()
Browse files Browse the repository at this point in the history
crypto_akcipher_maxsize() asks for the output buffer size without
caring for errors. It allways assume that will be called after
a valid setkey. Comply with it and return what he wants.

crypto_akcipher_maxsize() now returns an unsigned int.
Remove the unnecessary check.

Signed-off-by: Tudor Ambarus <[email protected]>
Signed-off-by: Herbert Xu <[email protected]>
  • Loading branch information
ambarus authored and herbertx committed Jun 10, 2017
1 parent 515c4d2 commit 543de10
Showing 1 changed file with 2 additions and 8 deletions.
10 changes: 2 additions & 8 deletions crypto/rsa-pkcs1pad.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,9 +120,6 @@ static int pkcs1pad_set_pub_key(struct crypto_akcipher *tfm, const void *key,

/* Find out new modulus size from rsa implementation */
err = crypto_akcipher_maxsize(ctx->child);
if (err < 0)
return err;

if (err > PAGE_SIZE)
return -ENOTSUPP;

Expand All @@ -144,17 +141,14 @@ static int pkcs1pad_set_priv_key(struct crypto_akcipher *tfm, const void *key,

/* Find out new modulus size from rsa implementation */
err = crypto_akcipher_maxsize(ctx->child);
if (err < 0)
return err;

if (err > PAGE_SIZE)
return -ENOTSUPP;

ctx->key_size = err;
return 0;
}

static int pkcs1pad_get_max_size(struct crypto_akcipher *tfm)
static unsigned int pkcs1pad_get_max_size(struct crypto_akcipher *tfm)
{
struct pkcs1pad_ctx *ctx = akcipher_tfm_ctx(tfm);

Expand All @@ -164,7 +158,7 @@ static int pkcs1pad_get_max_size(struct crypto_akcipher *tfm)
* decrypt/verify.
*/

return ctx->key_size ?: -EINVAL;
return ctx->key_size;
}

static void pkcs1pad_sg_set_buf(struct scatterlist *sg, void *buf, size_t len,
Expand Down

0 comments on commit 543de10

Please sign in to comment.