There was spin_lock leak in layout LFSCK lfsck_layout_slave_quit,
that may cause modifying lfsck_layout_slave_data::llsd_master_list
without spin_lock when others traverses such list with spin_lock,
as to the later one(s) access invalid RAM or fall into soft-lockup.
Signed-off-by: Fan Yong <fan.yong@intel.com>
Change-Id: I61749ebd6c36d4b21eb20bcc1c46dbe16a1c7f2c
Reviewed-on: http://review.whamcloud.com/13921
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
list_del_init(&llst->llst_list);
spin_unlock(&llsd->llsd_lock);
lfsck_layout_llst_put(llst);
list_del_init(&llst->llst_list);
spin_unlock(&llsd->llsd_lock);
lfsck_layout_llst_put(llst);
+ spin_lock(&llsd->llsd_lock);
}
spin_unlock(&llsd->llsd_lock);
}
spin_unlock(&llsd->llsd_lock);