From 310fc0b5d56fa43b80af869270fcf2758df9c92d Mon Sep 17 00:00:00 2001 From: yidong0635 Date: Thu, 27 Jun 2019 07:01:28 -0400 Subject: [PATCH] scsi_bdev_ut: add SPDK_CU_ASSERT_FATAL before put task. Like other test, need to add SPDK_CU_ASSERT_FATAL(TAILQ_EMPTY(&g_bdev_io_queue)). To avoid issue: scsi_bdev_ut.c:956:2: warning: Address of stack memory associated with local variable 'task' is still referred to by the global variable 'g_io_wait_queue' upon returning to the caller. This will be a dangling reference ut_put_task(&task); ^~~~~~~~~~~~~~~~~~ waiting exit from while loop in ut_bdev_io_flush. This is related to issue #822. Change-Id: If390f5076582a0149646f0c2a408c3bcd3b4fab6 Signed-off-by: yidong0635 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/459534 Reviewed-by: Darek Stojaczyk Reviewed-by: Ben Walker Tested-by: SPDK CI Jenkins --- test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c b/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c index 9d9206ff9..8c7c1018c 100644 --- a/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c +++ b/test/unit/lib/scsi/scsi_bdev.c/scsi_bdev_ut.c @@ -953,6 +953,8 @@ _xfer_test(bool bdev_io_pool_full) CU_ASSERT(task.status == SPDK_SCSI_STATUS_GOOD); CU_ASSERT(g_scsi_cb_called == 1); g_scsi_cb_called = 0; + SPDK_CU_ASSERT_FATAL(TAILQ_EMPTY(&g_bdev_io_queue)); + ut_put_task(&task); }