From 7dcc2507f631111f032899ef4e403febfb10b02b Mon Sep 17 00:00:00 2001 From: Liu Xiaodong Date: Wed, 18 Aug 2021 10:35:47 -0400 Subject: [PATCH] bdev/lvol: asserting lvol ptr before dereference Klocwork filtered it out that there is a dereference of pointer 'lvol' before its NULL check. Change-Id: I83a026e8762d1e004cf1a351585f48fb1e24ae41 Signed-off-by: Liu Xiaodong Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9208 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: GangCao Reviewed-by: Jim Harris Reviewed-by: Changpeng Liu Reviewed-by: Aleksey Marchuk --- module/bdev/lvol/vbdev_lvol.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/module/bdev/lvol/vbdev_lvol.c b/module/bdev/lvol/vbdev_lvol.c index 45f5231b0..3f72c03ca 100644 --- a/module/bdev/lvol/vbdev_lvol.c +++ b/module/bdev/lvol/vbdev_lvol.c @@ -588,9 +588,10 @@ static int vbdev_lvol_unregister(void *ctx) { struct spdk_lvol *lvol = ctx; - struct lvol_bdev *lvol_bdev = SPDK_CONTAINEROF(lvol->bdev, struct lvol_bdev, bdev); + struct lvol_bdev *lvol_bdev; assert(lvol != NULL); + lvol_bdev = SPDK_CONTAINEROF(lvol->bdev, struct lvol_bdev, bdev); spdk_bdev_alias_del_all(lvol->bdev); spdk_lvol_close(lvol, _vbdev_lvol_unregister_cb, lvol_bdev);