From e5108dfaa5d40e2e1d4a06ecb986d0877f0297db Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Thu, 11 Apr 2019 16:59:17 +0900 Subject: [PATCH] lib/iscsi: Fix the issue that the array of connections is not invalidated In iscsi_conns_cleanup(), g_conns_array was unmapped but was not invalidated by setting MAP_FAILED. So, find_iscsi_connection_by_id() caused segmentation fault if it is called after iscsi_conns_cleanup(). Change-Id: Ib91c9240c62c2aaa32713dd4aa382d31e5ea2eed Signed-off-by: Shuhei Matsumoto Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450901 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Changpeng Liu --- lib/iscsi/conn.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/iscsi/conn.c b/lib/iscsi/conn.c index f1430326b..009e0c127 100644 --- a/lib/iscsi/conn.c +++ b/lib/iscsi/conn.c @@ -607,6 +607,7 @@ iscsi_conns_cleanup(void) free(g_num_connections); munmap(g_conns_array, sizeof(struct spdk_iscsi_conn) * MAX_ISCSI_CONNECTIONS); + g_conns_array = MAP_FAILED; shm_unlink(g_shm_name); if (g_conns_array_fd >= 0) { close(g_conns_array_fd);