From 623105bb096683d4140dbdb1b79dfdf27642852e Mon Sep 17 00:00:00 2001 From: Konrad Sztyber Date: Fri, 13 May 2022 11:21:04 +0200 Subject: [PATCH] bdev/nvme: zero out the referred discovery trid If the trid is not zeroed out, trid.trstring might contain garbage value, which means that nvme_probe_internal() might not populate it based on trtype and will use that garbage value to get a transport, leading to the following failure: ``` nvme.c: 834:nvme_probe_internal: *ERROR*: NVMe trtype 3 () not available ``` Signed-off-by: Konrad Sztyber Change-Id: I56bc6502d285ee5ce094184e00d3297f6332e8c0 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/12680 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Tomasz Zawadzki --- module/bdev/nvme/bdev_nvme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/bdev/nvme/bdev_nvme.c b/module/bdev/nvme/bdev_nvme.c index 1dc95bdac..60701fc64 100644 --- a/module/bdev/nvme/bdev_nvme.c +++ b/module/bdev/nvme/bdev_nvme.c @@ -4962,7 +4962,7 @@ discovery_log_page_cb(void *cb_arg, int rc, const struct spdk_nvme_cpl *cpl, new_entry = &log_page->entries[i]; if (new_entry->subtype == SPDK_NVMF_SUBTYPE_DISCOVERY) { struct discovery_entry_ctx *new_ctx; - struct spdk_nvme_transport_id trid; + struct spdk_nvme_transport_id trid = {}; build_trid_from_log_page_entry(&trid, new_entry); new_ctx = create_discovery_entry_ctx(ctx, &trid);