From 22d8acbcf127d4c4b3b19db14d4981f75a2e20d6 Mon Sep 17 00:00:00 2001 From: Daniel Verkamp Date: Mon, 28 Nov 2016 13:46:13 -0700 Subject: [PATCH] nvme/rdma: check discovery entry subtype We currently don't handle discovery service referrals, so skip those, as well as any other unknown subsystem type. Change-Id: I64f889e9272fb57b5cf9bb5467b3abca3955baf5 Signed-off-by: Daniel Verkamp --- lib/nvme/nvme_rdma.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/lib/nvme/nvme_rdma.c b/lib/nvme/nvme_rdma.c index f458a30f9..96243a814 100644 --- a/lib/nvme/nvme_rdma.c +++ b/lib/nvme/nvme_rdma.c @@ -1166,6 +1166,14 @@ nvme_rdma_ctrlr_scan(enum spdk_nvme_transport transport, uint8_t *end; size_t len; + if (entry->subtype == SPDK_NVMF_SUBTYPE_DISCOVERY) { + SPDK_WARNLOG("Skipping unsupported discovery service referral\n"); + continue; + } else if (entry->subtype != SPDK_NVMF_SUBTYPE_NVME) { + SPDK_WARNLOG("Skipping unknown subtype %u\n", entry->subtype); + continue; + } + probe_info.trtype = entry->trtype; if (!spdk_nvme_transport_available(probe_info.trtype)) { SPDK_WARNLOG("NVMe transport type %u not available; skipping probe\n",