lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 18 Mar 2016 20:39:51 +0000
From:	maitesin <oscar.forner.martinez@...il.com>
To:	herbert@...dor.apana.org.au, davem@...emloft.net
Cc:	linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org,
	maitesin <violador.de.segmentos@...il.com>,
	Oscar Forner Martinez <oscar.forner.martinez@...il.com>
Subject: [PATCH] crypto: cleaning and refactoring in rsa.c

* 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@...il.com>
---
 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ