[PATCH] crypto: cleaning and refactoring in rsa.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Removed several unused initializations of variables.
* Inlined couple of functions.
* rsa_check_key_length: changed to use only the switch statement.
* rsa_setkey: refactored the implementation to be closer to the other
functions in the file.

Signed-off-by: Oscar Forner Martinez <oscar.forner.martinez@xxxxxxxxx>
---
 crypto/rsa.c | 29 ++++++++++++-----------------
 1 file changed, 12 insertions(+), 17 deletions(-)

diff --git a/crypto/rsa.c b/crypto/rsa.c
index 466003e..0832b38 100644
--- a/crypto/rsa.c
+++ b/crypto/rsa.c
@@ -80,8 +80,7 @@ static int rsa_enc(struct akcipher_request *req)
 	struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req);
 	const struct rsa_key *pkey = rsa_get_key(tfm);
 	MPI m, c = mpi_alloc(0);
-	int ret = 0;
-	int sign;
+	int ret, sign;
 
 	if (!c)
 		return -ENOMEM;
@@ -128,8 +127,7 @@ static int rsa_dec(struct akcipher_request *req)
 	struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req);
 	const struct rsa_key *pkey = rsa_get_key(tfm);
 	MPI c, m = mpi_alloc(0);
-	int ret = 0;
-	int sign;
+	int ret, sign;
 
 	if (!m)
 		return -ENOMEM;
@@ -176,8 +174,7 @@ static int rsa_sign(struct akcipher_request *req)
 	struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req);
 	const struct rsa_key *pkey = rsa_get_key(tfm);
 	MPI m, s = mpi_alloc(0);
-	int ret = 0;
-	int sign;
+	int ret, sign;
 
 	if (!s)
 		return -ENOMEM;
@@ -224,8 +221,7 @@ static int rsa_verify(struct akcipher_request *req)
 	struct crypto_akcipher *tfm = crypto_akcipher_reqtfm(req);
 	const struct rsa_key *pkey = rsa_get_key(tfm);
 	MPI s, m = mpi_alloc(0);
-	int ret = 0;
-	int sign;
+	int ret, sign;
 
 	if (!m)
 		return -ENOMEM;
@@ -277,25 +273,24 @@ static int rsa_check_key_length(unsigned int len)
 	case 3072:
 	case 4096:
 		return 0;
+	default:
+		return -EINVAL;
 	}
-
-	return -EINVAL;
 }
 
 static int rsa_setkey(struct crypto_akcipher *tfm, const void *key,
 		      unsigned int keylen)
 {
 	struct rsa_key *pkey = akcipher_tfm_ctx(tfm);
-	int ret;
+	int ret = rsa_parse_key(pkey, key, keylen);
 
-	ret = rsa_parse_key(pkey, key, keylen);
 	if (ret)
 		return ret;
 
-	if (rsa_check_key_length(mpi_get_size(pkey->n) << 3)) {
+	ret = rsa_check_key_length(mpi_get_size(pkey->n) << 3);
+	if (ret)
 		rsa_free_key(pkey);
-		ret = -EINVAL;
-	}
+
 	return ret;
 }
 
@@ -322,12 +317,12 @@ static struct akcipher_alg rsa = {
 	},
 };
 
-static int rsa_init(void)
+static inline int rsa_init(void)
 {
 	return crypto_register_akcipher(&rsa);
 }
 
-static void rsa_exit(void)
+static inline void rsa_exit(void)
 {
 	crypto_unregister_akcipher(&rsa);
 }
-- 
2.7.3

--
To unsubscribe from this list: send the line "unsubscribe linux-crypto" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Kernel]     [Gnu Classpath]     [Gnu Crypto]     [DM Crypt]     [Netfilter]     [Bugtraq]

  Powered by Linux