Message ID | 80b91321-138c-41de-95c7-47c3be07fe76@web.de (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Herbert Xu |
Headers | show |
Series | crypto: virtio/akcipher - Move a pointer assignment in virtio_crypto_rsa_set_key() | expand |
On 10/12/24 16:06, Markus Elfring wrote: > From: Markus Elfring <elfring@users.sourceforge.net> > 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@users.sourceforge.net> > --- > 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 >
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)