android_kernel_oneplus_msm8998/fs/dlm
Marcelo Ricardo Leitner 1832397d8c dlm: free workqueues after the connections
commit 3a8db79889ce16930aff19b818f5b09651bb7644 upstream.

After backporting commit ee44b4bc05 ("dlm: use sctp 1-to-1 API")
series to a kernel with an older workqueue which didn't use RCU yet, it
was noticed that we are freeing the workqueues in dlm_lowcomms_stop()
too early as free_conn() will try to access that memory for canceling
the queued works if any.

This issue was introduced by commit 0d737a8cfd as before it such
attempt to cancel the queued works wasn't performed, so the issue was
not present.

This patch fixes it by simply inverting the free order.

Fixes: 0d737a8cfd ("dlm: fix race while closing connections")
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-10-22 12:26:56 +02:00
..
ast.c dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
ast.h
config.c dlm: use per-attribute show and store methods 2015-10-13 22:16:18 -07:00
config.h
debug_fs.c dlm: Use seq_puts() instead of seq_printf() for constant strings 2014-11-05 14:13:09 -05:00
dir.c dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
dir.h
dlm_internal.h dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
Kconfig
lock.c dlm: adopt orphan locks 2014-11-19 14:48:02 -06:00
lock.h dlm: adopt orphan locks 2014-11-19 14:48:02 -06:00
lockspace.c fs/dlm/lockspace.c: convert simple_str to kstr 2014-06-06 16:08:18 -07:00
lockspace.h
lowcomms.c dlm: free workqueues after the connections 2016-10-22 12:26:56 +02:00
lowcomms.h
lvb_table.h
main.c
Makefile
member.c dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
member.h
memory.c
memory.h
midcomms.c
midcomms.h
netlink.c netlink: make nlmsg_end() and genlmsg_end() void 2015-01-18 01:03:45 -05:00
plock.c dlm for 4.4 2015-11-05 11:15:25 -08:00
rcom.c dlm: fix missing endian conversion of rcom_status flags 2014-10-14 15:11:48 -05:00
rcom.h
recover.c dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
recover.h
recoverd.c dlm: use INFO for recovery messages 2014-02-14 11:54:44 -06:00
recoverd.h
requestqueue.c
requestqueue.h
user.c dlm for 4.3 2015-09-03 12:57:48 -07:00
user.h
util.c
util.h