drivers/nvme/target/auth.c | 1 + 1 file changed, 1 insertion(+)
ctrl->dh_key might be used across multiple calls to nvmet_setup_dhgroup()
for the same controller. So it's better to nullify it after release on
error path in order to avoid double free later in nvmet_destroy_auth().
Found by Linux Verification Center (linuxtesting.org) with Svace.
Fixes: 7a277c37d352 ("nvmet-auth: Diffie-Hellman key exchange support")
Cc: stable@vger.kernel.org
Signed-off-by: Vitaliy Shevtsov <v.shevtsov@maxima.ru>
---
drivers/nvme/target/auth.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/nvme/target/auth.c b/drivers/nvme/target/auth.c
index e900525b7866..7bca64de4a2f 100644
--- a/drivers/nvme/target/auth.c
+++ b/drivers/nvme/target/auth.c
@@ -101,6 +101,7 @@ int nvmet_setup_dhgroup(struct nvmet_ctrl *ctrl, u8 dhgroup_id)
pr_debug("%s: ctrl %d failed to generate private key, err %d\n",
__func__, ctrl->cntlid, ret);
kfree_sensitive(ctrl->dh_key);
+ ctrl->dh_key = NULL;
return ret;
}
ctrl->dh_keysize = crypto_kpp_maxsize(ctrl->dh_tfm);
--
2.46.1
Looks good: Reviewed-by: Christoph Hellwig <hch@lst.de>
On 2024-09-17 Christoph Hellwig wrote: > Looks good: > > Reviewed-by: Christoph Hellwig <hch@lst.de> I suspect the patch has been lost - it's still missing on nvme-6.12 or nvme-6.13 at git.infradead.org/nvme.git. -- Thanks, Fedor
On Fri, Oct 25, 2024 at 04:01:18PM +0300, Fedor Pchelkin wrote: > I suspect the patch has been lost - it's still missing on nvme-6.12 or > nvme-6.13 at git.infradead.org/nvme.git. Thanks for the ping. Patch applied to nvme-6.12.
On 9/16/24 19:41, Vitaliy Shevtsov wrote: > ctrl->dh_key might be used across multiple calls to nvmet_setup_dhgroup() > for the same controller. So it's better to nullify it after release on > error path in order to avoid double free later in nvmet_destroy_auth(). > > Found by Linux Verification Center (linuxtesting.org) with Svace. > > Fixes: 7a277c37d352 ("nvmet-auth: Diffie-Hellman key exchange support") > Cc: stable@vger.kernel.org > Signed-off-by: Vitaliy Shevtsov <v.shevtsov@maxima.ru> > --- > drivers/nvme/target/auth.c | 1 + > 1 file changed, 1 insertion(+) > Now that is obviously correct. Reviewed-by: Hannes Reinecke <hare@suse.de> Cheers, Hannes -- Dr. Hannes Reinecke Kernel Storage Architect hare@suse.de +49 911 74053 688 SUSE Software Solutions GmbH, Frankenstr. 146, 90461 Nürnberg HRB 36809 (AG Nürnberg), GF: I. Totev, A. McDonald, W. Knoblich
© 2016 - 2024 Red Hat, Inc.