From 9469b3ef201052b821fdb934e69572d4f974a32c 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 (master) Reviewed-on: https://review.gerrithub.io/435673 Reviewed-by: Jim Harris Reviewed-by: Ben Walker Reviewed-by: Shuhei Matsumoto Tested-by: SPDK CI Jenkins --- 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 807940645..46fc2b102 100644 --- a/lib/bdev/crypto/vbdev_crypto.c +++ b/lib/bdev/crypto/vbdev_crypto.c @@ -1116,6 +1116,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");