From 7083e01b9f40c23f784d6e95ab12087924090143 Mon Sep 17 00:00:00 2001 From: Sochin Jiang Date: Sun, 6 Dec 2020 14:02:44 +0800 Subject: [PATCH] bdev/aio: access 'spdk_bdev_io' before 'spdk_bdev_io_complete' called 'spdk_bdev_io' could be freed after calling 'spdk_bdev_io_complete', fix this potential issue in aio. Signed-off-by: Sochin Jiang Change-Id: I2e67ec44d9ffc0dda4f5753beba06b8a249456ca Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/5463 Tested-by: SPDK CI Jenkins Reviewed-by: Changpeng Liu Reviewed-by: Shuhei Matsumoto Community-CI: Broadcom CI Community-CI: Mellanox Build Bot --- module/bdev/aio/bdev_aio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/bdev/aio/bdev_aio.c b/module/bdev/aio/bdev_aio.c index 1829cacc4..4fd83ffa7 100644 --- a/module/bdev/aio/bdev_aio.c +++ b/module/bdev/aio/bdev_aio.c @@ -341,8 +341,8 @@ bdev_aio_io_channel_poll(struct bdev_aio_io_channel *io_ch) status = SPDK_BDEV_IO_STATUS_SUCCESS; } - spdk_bdev_io_complete(spdk_bdev_io_from_ctx(aio_task), status); aio_task->ch->io_inflight--; + spdk_bdev_io_complete(spdk_bdev_io_from_ctx(aio_task), status); } return nr;