When iscsi login/logout and multipath command are executed concurrently, there is a coredump. The reason is: check_path ->update_multipath_strings ->sync_paths ->orphan_path //pp->mpp is set to NULL ->update_multipath_status ->dm_get_status //return DMP_NOT_FOUND ->condlog //pp->mpp->alias, NULL dereference Here we don't dereference pp-> mpp if it is NULL. Signed-off-by: Lixiaokeng<lixiaokeng@xxxxxxxxxx> --- multipathd/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multipathd/main.c b/multipathd/main.c index 28cb236..5ed2267 100644 --- a/multipathd/main.c +++ b/multipathd/main.c @@ -2010,7 +2010,7 @@ check_path (struct vectors * vecs, struct path * pp, int ticks) if (ret == DMP_NOT_FOUND) { /* multipath device missing. Likely removed */ condlog(1, "%s: multipath device '%s' not found", - pp->dev, pp->mpp->alias); + pp->dev, pp->mpp ? pp->mpp->alias : ""); return 0; } else condlog(1, "%s: Couldn't synchronize with kernel state", -- dm-devel mailing list dm-devel@xxxxxxxxxx https://listman.redhat.com/mailman/listinfo/dm-devel