aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-10-10 16:58:06 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-10-10 16:58:06 -0400
commit6763afe4b9f39142bda2a92d69e62fe85f67251c (patch)
tree05e5a6c4bc570ca2aff5b9e4bc518bc106ae7a75
parent8dfb790b15e779232d5d4e3f0102af2bea21ca55 (diff)
parent3a8db79889ce16930aff19b818f5b09651bb7644 (diff)
Merge tag 'dlm-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm
Pull dlm fix from David Teigland: "This includes a bug fix for a bad memory access during workqueue cleanup, which can happen while shutting down the dlm networking layer" * tag 'dlm-4.9' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/linux-dlm: dlm: free workqueues after the connections
-rw-r--r--fs/dlm/lowcomms.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c
index 963016c8f3d1..609998de533e 100644
--- a/fs/dlm/lowcomms.c
+++ b/fs/dlm/lowcomms.c
@@ -1656,16 +1656,12 @@ void dlm_lowcomms_stop(void)
1656 mutex_lock(&connections_lock); 1656 mutex_lock(&connections_lock);
1657 dlm_allow_conn = 0; 1657 dlm_allow_conn = 0;
1658 foreach_conn(stop_conn); 1658 foreach_conn(stop_conn);
1659 clean_writequeues();
1660 foreach_conn(free_conn);
1659 mutex_unlock(&connections_lock); 1661 mutex_unlock(&connections_lock);
1660 1662
1661 work_stop(); 1663 work_stop();
1662 1664
1663 mutex_lock(&connections_lock);
1664 clean_writequeues();
1665
1666 foreach_conn(free_conn);
1667
1668 mutex_unlock(&connections_lock);
1669 kmem_cache_destroy(con_cache); 1665 kmem_cache_destroy(con_cache);
1670} 1666}
1671 1667