From: Christophe JAILLET Date: Mon, 3 Mar 2025 19:08:04 +0000 (+0100) Subject: crypto: virtio - Erase some sensitive memory when it is freed X-Git-Tag: v6.15-rc1~118^2~68 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fb14ef46e27757d57ccaf437c79bd6aadce3f9b8;p=thirdparty%2Flinux.git crypto: virtio - Erase some sensitive memory when it is freed virtcrypto_clear_request() does the same as the code here, but uses kfree_sensitive() for one of the free operation. So, better safe than sorry, use virtcrypto_clear_request() directly to save a few lines of code and cleanly free the memory. Signed-off-by: Christophe JAILLET Tested-by: Lei Yang Acked-by: Jason Wang Signed-off-by: Herbert Xu --- diff --git a/drivers/crypto/virtio/virtio_crypto_core.c b/drivers/crypto/virtio/virtio_crypto_core.c index d0278eb568b96..0d522049f595b 100644 --- a/drivers/crypto/virtio/virtio_crypto_core.c +++ b/drivers/crypto/virtio/virtio_crypto_core.c @@ -480,10 +480,8 @@ static void virtcrypto_free_unused_reqs(struct virtio_crypto *vcrypto) for (i = 0; i < vcrypto->max_data_queues; i++) { vq = vcrypto->data_vq[i].vq; - while ((vc_req = virtqueue_detach_unused_buf(vq)) != NULL) { - kfree(vc_req->req_data); - kfree(vc_req->sgs); - } + while ((vc_req = virtqueue_detach_unused_buf(vq)) != NULL) + virtcrypto_clear_request(vc_req); cond_resched(); } }