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 <shuhei.matsumoto.xt@hitachi.com>
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/450901
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Changpeng Liu <changpeng.liu@intel.com>
This commit is contained in:
Shuhei Matsumoto 2019-04-11 16:59:17 +09:00 committed by Jim Harris
parent 766c536184
commit e5108dfaa5

View File

@ -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);