linux-stable/fs/dlm
Alexander Aring 5a52012ff8 fs: dlm: retry accept() until -EAGAIN or error returns
commit f0f4bb431b upstream.

This patch fixes a race if we get two times an socket data ready event
while the listen connection worker is queued. Currently it will be
served only once but we need to do it (in this case twice) until we hit
-EAGAIN which tells us there is no pending accept going on.

This patch wraps an do while loop until we receive a return value which
is different than 0 as it was done before commit d11ccd451b ("fs: dlm:
listen socket out of connection hash").

Cc: stable@vger.kernel.org
Fixes: d11ccd451b ("fs: dlm: listen socket out of connection hash")
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2023-01-07 11:11:44 +01:00
..
ast.c fs: dlm: LSFL_CB_DELAY only for kernel lockspaces 2022-08-23 15:02:46 -05:00
ast.h fs: dlm: remove dlm_del_ast prototype 2022-08-23 14:54:01 -05: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: change ls_clear_proc_locks to spinlock 2022-08-23 14:54:02 -05:00
Kconfig fs: dlm: add deprecation Kconfig and warnings for timeouts 2022-08-01 09:31:32 -05:00
lock.c fs: dlm: fix possible use after free if tracing 2022-09-26 09:58:07 -05:00
lock.h fs: dlm: const void resource name parameter 2022-08-23 15:02:47 -05:00
lockspace.c fs: dlm: remove DLM_LSFL_FS from uapi 2022-08-23 14:54:54 -05:00
lockspace.h fs: dlm: remove DLM_LSFL_FS from uapi 2022-08-23 14:54:54 -05:00
lowcomms.c fs: dlm: retry accept() until -EAGAIN or error returns 2023-01-07 11:11:44 +01: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: start to validate reserved header bytes 2022-08-29 12:47:15 +01: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: remove DLM_LSFL_FS from uapi 2022-08-23 14:54:54 -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