From 09496681180189d8cac95e1b7a0afb7b943529a1 Mon Sep 17 00:00:00 2001 From: Paul Luse Date: Wed, 14 Nov 2018 21:57:39 -0700 Subject: [PATCH] bdev/crypto: prevent duplicates from being added to global name list Picked up from recent update to the passthru module. Change-Id: Ie7404e5aadda6691b15020adbbc1e1f4c23d0a12 Signed-off-by: Paul Luse Reviewed-on: https://review.gerrithub.io/433384 Tested-by: SPDK CI Jenkins Chandler-Test-Pool: SPDK Automated Test System Reviewed-by: Ben Walker Reviewed-by: Jim Harris --- lib/bdev/crypto/vbdev_crypto.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/bdev/crypto/vbdev_crypto.c b/lib/bdev/crypto/vbdev_crypto.c index c9e0ba110..0269b825e 100644 --- a/lib/bdev/crypto/vbdev_crypto.c +++ b/lib/bdev/crypto/vbdev_crypto.c @@ -1129,6 +1129,13 @@ vbdev_crypto_insert_name(const char *bdev_name, const char *vbdev_name, int rc, j; bool found = false; + TAILQ_FOREACH(name, &g_bdev_names, link) { + if (strcmp(vbdev_name, name->vbdev_name) == 0) { + SPDK_ERRLOG("crypto bdev %s already exists\n", vbdev_name); + return -EEXIST; + } + } + name = calloc(1, sizeof(struct bdev_names)); if (!name) { SPDK_ERRLOG("could not allocate bdev_names\n");