From a6b92896ff5b64ee297d946cd1a2af7a3085a542 Mon Sep 17 00:00:00 2001 From: Alexey Marchuk Date: Wed, 14 Apr 2021 18:25:24 +0300 Subject: [PATCH] perf: Fix memory leak when IO submit failed When submit_io cb returns bad status, current task is dropped and allocated memory is not cleaned. Change-Id: Ibc33e76e6800644c29eaeb826a3401ad5d5fd582 Signed-off-by: Alexey Marchuk Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7376 Tested-by: SPDK CI Jenkins Reviewed-by: Changpeng Liu Reviewed-by: Jim Harris --- examples/nvme/perf/perf.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/nvme/perf/perf.c b/examples/nvme/perf/perf.c index 78ab10148..7c2bbaf67 100644 --- a/examples/nvme/perf/perf.c +++ b/examples/nvme/perf/perf.c @@ -1378,6 +1378,10 @@ submit_single_io(struct perf_task *task) if (spdk_unlikely(rc != 0)) { RATELIMIT_LOG("starting I/O failed\n"); + spdk_dma_free(task->iovs[0].iov_base); + free(task->iovs); + spdk_dma_free(task->md_iov.iov_base); + free(task); } else { ns_ctx->current_queue_depth++; }