Re: [PATCH] crypto: virtio/akcipher - Move a pointer assignment in virtio_crypto_rsa_set_key()

From: zhenwei pi
Date: Sat Oct 12 2024 - 04:24:19 EST




On 10/12/24 16:06, Markus Elfring wrote:
From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Sat, 12 Oct 2024 09:51:58 +0200

Move the reset of the data structure member “n” to a null pointer
into an if branch so that this assignment will be performed only after
a key parsing failure.

Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
drivers/crypto/virtio/virtio_crypto_akcipher_algs.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/crypto/virtio/virtio_crypto_akcipher_algs.c b/drivers/crypto/virtio/virtio_crypto_akcipher_algs.c
index 48fee07b7e51..56557d4778b0 100644
--- a/drivers/crypto/virtio/virtio_crypto_akcipher_algs.c
+++ b/drivers/crypto/virtio/virtio_crypto_akcipher_algs.c
@@ -355,7 +355,6 @@ static int virtio_crypto_rsa_set_key(struct crypto_akcipher *tfm,

/* mpi_free will test n, just free it. */
mpi_free(rsa_ctx->n);
- rsa_ctx->n = NULL;

if (private) {
keytype = VIRTIO_CRYPTO_AKCIPHER_KEY_TYPE_PRIVATE;
@@ -365,8 +364,10 @@ static int virtio_crypto_rsa_set_key(struct crypto_akcipher *tfm,
ret = rsa_parse_pub_key(&rsa_key, key, keylen);
}

- if (ret)
+ if (ret) {
+ rsa_ctx->n = NULL;
return ret;
+ }

rsa_ctx->n = mpi_read_raw_data(rsa_key.n, rsa_key.n_sz);
if (!rsa_ctx->n)
--

Hi,

This change only reduces a single assignment on a key parsing failure, however it breaks the original "free a pointer, and set it to NULL".
I prefer the original style.

Lei, what's your opinion?


2.46.1