Message ID | 068d2824cf592748cbd9b75cf4cb6c29600e213c.1653224817.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Herbert Xu |
Headers | show |
Series | virtio-crypto: Fix an error handling path in virtio_crypto_alg_skcipher_close_session() | expand |
On 5/22/22 21:07, Christophe JAILLET wrote: > Now that a private buffer is allocated (see commit in the Fixes tag), > it must be released in all error handling paths. > > Add the missing goto to avoid a leak in the error handling path. > > Fixes: 42e6ac99e417 ("virtio-crypto: use private buffer for control request") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > drivers/crypto/virtio/virtio_crypto_skcipher_algs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c b/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c > index e553ccadbcbc..e5876286828b 100644 > --- a/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c > +++ b/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c > @@ -239,7 +239,8 @@ static int virtio_crypto_alg_skcipher_close_session( > pr_err("virtio_crypto: Close session failed status: %u, session_id: 0x%llx\n", > ctrl_status->status, destroy_session->session_id); > > - return -EINVAL; > + err = -EINVAL; > + goto out; > } > > err = 0; This looks good to me, thanks! Acked-by: zhenwei pi <pizhenwei@bytedance.com>
> -----Original Message----- > From: Christophe JAILLET [mailto:christophe.jaillet@wanadoo.fr] > Sent: Sunday, May 22, 2022 9:07 PM > To: dan.carpenter@oracle.com; Gonglei (Arei) <arei.gonglei@huawei.com>; > Michael S. Tsirkin <mst@redhat.com>; Jason Wang <jasowang@redhat.com>; > Herbert Xu <herbert@gondor.apana.org.au>; David S. Miller > <davem@davemloft.net>; zhenwei pi <pizhenwei@bytedance.com> > Cc: linux-kernel@vger.kernel.org; kernel-janitors@vger.kernel.org; Christophe > JAILLET <christophe.jaillet@wanadoo.fr>; > virtualization@lists.linux-foundation.org; linux-crypto@vger.kernel.org > Subject: [PATCH] virtio-crypto: Fix an error handling path in > virtio_crypto_alg_skcipher_close_session() > > Now that a private buffer is allocated (see commit in the Fixes tag), it must be > released in all error handling paths. > > Add the missing goto to avoid a leak in the error handling path. > > Fixes: 42e6ac99e417 ("virtio-crypto: use private buffer for control request") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> > --- > drivers/crypto/virtio/virtio_crypto_skcipher_algs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > Reviewed-by: Gonglei <arei.gonglei@huawei.com> Regards, -Gonglei > diff --git a/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c > b/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c > index e553ccadbcbc..e5876286828b 100644 > --- a/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c > +++ b/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c > @@ -239,7 +239,8 @@ static int virtio_crypto_alg_skcipher_close_session( > pr_err("virtio_crypto: Close session failed status: %u, session_id: > 0x%llx\n", > ctrl_status->status, destroy_session->session_id); > > - return -EINVAL; > + err = -EINVAL; > + goto out; > } > > err = 0; > -- > 2.34.1
On Sun, May 22, 2022 at 9:07 PM Christophe JAILLET <christophe.jaillet@wanadoo.fr> wrote: > > Now that a private buffer is allocated (see commit in the Fixes tag), > it must be released in all error handling paths. > > Add the missing goto to avoid a leak in the error handling path. > > Fixes: 42e6ac99e417 ("virtio-crypto: use private buffer for control request") > Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Acked-by: Jason Wang <jasowang@redhat.com> > --- > drivers/crypto/virtio/virtio_crypto_skcipher_algs.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c b/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c > index e553ccadbcbc..e5876286828b 100644 > --- a/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c > +++ b/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c > @@ -239,7 +239,8 @@ static int virtio_crypto_alg_skcipher_close_session( > pr_err("virtio_crypto: Close session failed status: %u, session_id: 0x%llx\n", > ctrl_status->status, destroy_session->session_id); > > - return -EINVAL; > + err = -EINVAL; > + goto out; > } > > err = 0; > -- > 2.34.1 >
diff --git a/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c b/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c index e553ccadbcbc..e5876286828b 100644 --- a/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c +++ b/drivers/crypto/virtio/virtio_crypto_skcipher_algs.c @@ -239,7 +239,8 @@ static int virtio_crypto_alg_skcipher_close_session( pr_err("virtio_crypto: Close session failed status: %u, session_id: 0x%llx\n", ctrl_status->status, destroy_session->session_id); - return -EINVAL; + err = -EINVAL; + goto out; } err = 0;
Now that a private buffer is allocated (see commit in the Fixes tag), it must be released in all error handling paths. Add the missing goto to avoid a leak in the error handling path. Fixes: 42e6ac99e417 ("virtio-crypto: use private buffer for control request") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- drivers/crypto/virtio/virtio_crypto_skcipher_algs.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)