linux/fs/dlm
Alexander Aring eef6ec9bf3 fs: dlm: fix race between test_bit() and queue_work()
This patch fixes a race by using ls_cb_mutex around the bit
operations and conditional code blocks for LSFL_CB_DELAY.

The function dlm_callback_stop() expects to stop all callbacks and
flush all currently queued onces. The set_bit() is not enough because
there can still be queue_work() after the workqueue was flushed.
To avoid queue_work() after set_bit(), surround both by ls_cb_mutex.

Cc: stable@vger.kernel.org
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
2022-08-23 14:37:14 -05:00
..
ast.c fs: dlm: fix race between test_bit() and queue_work() 2022-08-23 14:37:14 -05:00
ast.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
config.c fs: dlm: don't use deprecated timeout features by default 2022-08-01 09:31:38 -05:00
config.h fs: dlm: don't use deprecated timeout features by default 2022-08-01 09:31:38 -05:00
debug_fs.c fs: dlm: fix potential buffer overflow 2021-11-12 09:38:19 -06:00
dir.c dlm: use __le types for dlm header 2022-04-06 14:02:28 -05:00
dir.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
dlm_internal.h fs: dlm: don't use deprecated timeout features by default 2022-08-01 09:31:38 -05:00
Kconfig fs: dlm: add deprecation Kconfig and warnings for timeouts 2022-08-01 09:31:32 -05:00
lock.c fs: dlm: move kref_put assert for lkb structs 2022-08-01 09:31:46 -05:00
lock.h fs: dlm: don't use deprecated timeout features by default 2022-08-01 09:31:38 -05:00
lockspace.c fs: dlm: don't use deprecated timeout features by default 2022-08-01 09:31:38 -05:00
lockspace.h dlm: check required context while close 2022-04-06 14:03:01 -05:00
lowcomms.c fs: dlm: fix race in lowcomms 2022-08-23 14:26:37 -05:00
lowcomms.h fs: dlm: memory cache for lowcomms hotpath 2021-12-07 12:42:26 -06:00
lvb_table.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
main.c fs: dlm: initial support for tracepoints 2021-11-02 14:39:20 -05:00
Makefile fs: dlm: don't use deprecated timeout features by default 2022-08-01 09:31:38 -05:00
member.c fs: dlm: make new_lockspace() wait until recovery completes 2022-06-24 11:57:47 -05:00
member.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
memory.c fs: dlm: memory cache for lowcomms hotpath 2021-12-07 12:42:26 -06:00
memory.h fs: dlm: memory cache for lowcomms hotpath 2021-12-07 12:42:26 -06:00
midcomms.c dlm: check required context while close 2022-04-06 14:03:01 -05:00
midcomms.h fs: dlm: memory cache for midcomms hotpath 2021-12-07 12:42:26 -06:00
netlink.c genetlink: move to smaller ops wherever possible 2020-10-02 19:11:11 -07:00
plock.c fs: dlm: change posix lock sigint handling 2022-06-24 11:53:05 -05:00
rcom.c fs: dlm: cast resource pointer to uintptr_t 2022-04-07 09:54:45 -05:00
rcom.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
recover.c dlm: replace usage of found with dedicated list iterator variable 2022-04-06 14:03:14 -05:00
recover.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
recoverd.c fs: dlm: handle recovery result outside of ls_recover 2022-06-24 11:57:48 -05:00
recoverd.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
requestqueue.c dlm: use __le types for dlm messages 2022-04-06 14:02:37 -05:00
requestqueue.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
user.c fs: dlm: don't use deprecated timeout features by default 2022-08-01 09:31:38 -05:00
user.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 193 2019-05-30 11:29:21 -07:00
util.c dlm: use __le types for dlm messages 2022-04-06 14:02:37 -05:00
util.h dlm: use __le types for dlm messages 2022-04-06 14:02:37 -05:00