From a54fc9f4a2dc4e63617cbfb71b2c410aa19cf457 Mon Sep 17 00:00:00 2001 From: Alexey Marchuk Date: Mon, 30 Jan 2023 10:57:42 +0100 Subject: [PATCH] bdev/crypto: Free aux buf when crypto op fails Fixes issue #2886 Signed-off-by: Alexey Marchuk Change-Id: I19e2ba3763822bc9092fba584d35a6802c520ab7 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/16600 Tested-by: SPDK CI Jenkins Reviewed-by: Paul Luse Reviewed-by: Jim Harris Reviewed-by: Changpeng Liu Reviewed-by: Shuhei Matsumoto --- module/bdev/crypto/vbdev_crypto.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/module/bdev/crypto/vbdev_crypto.c b/module/bdev/crypto/vbdev_crypto.c index 20113ad24..5f7576ba5 100644 --- a/module/bdev/crypto/vbdev_crypto.c +++ b/module/bdev/crypto/vbdev_crypto.c @@ -134,6 +134,9 @@ _crypto_operation_complete(void *ref, int status) } if (rc) { + if (bdev_io->type == SPDK_BDEV_IO_TYPE_WRITE) { + spdk_bdev_io_put_aux_buf(bdev_io, crypto_io->aux_buf_raw); + } spdk_bdev_io_complete(bdev_io, SPDK_BDEV_IO_STATUS_FAILED); }