From 9e4f14884cd3d96f485c24560dcb1a78f5d85f58 Mon Sep 17 00:00:00 2001 From: Brian Christiansen <brian@schedmd.com> Date: Mon, 17 Oct 2016 13:32:14 -0600 Subject: [PATCH] Prevent invalid read when fed_mgr is finishing --- src/slurmctld/fed_mgr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/slurmctld/fed_mgr.c b/src/slurmctld/fed_mgr.c index 7b3f6cccc81..a767913b2b9 100644 --- a/src/slurmctld/fed_mgr.c +++ b/src/slurmctld/fed_mgr.c @@ -714,10 +714,14 @@ extern int fed_mgr_fini() lock_slurmctld(fed_write_lock); - slurm_persist_conn_recv_server_fini(); - + /* Call _leave_federation() before slurm_persist_conn_recv_server_fini() + * as this will NULL out the cluster's recv persistent connection before + * _server_fini() actually destroy's it. That way the cluster's recv + * connection won't be pointing to bad memory. */ _leave_federation(); + slurm_persist_conn_recv_server_fini(); + unlock_slurmctld(fed_write_lock); return SLURM_SUCCESS; -- GitLab