acrn-kernel/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
..
Kconfig fs: dlm: add deprecation Kconfig and warnings for timeouts 2022-08-01 09:31:32 -05:00
Makefile fs: dlm: don't use deprecated timeout features by default 2022-08-01 09:31:38 -05: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
dir.c dlm: use __le types for dlm header 2022-04-06 14:02:28 -05:00
dir.h
dlm_internal.h fs: dlm: change ls_clear_proc_locks to spinlock 2022-08-23 14:54:02 -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
lvb_table.h
main.c
member.c fs: dlm: make new_lockspace() wait until recovery completes 2022-06-24 11:57:47 -05:00
member.h
memory.c
memory.h
midcomms.c dlm: check required context while close 2022-04-06 14:03:01 -05:00
midcomms.h
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
recover.c dlm: replace usage of found with dedicated list iterator variable 2022-04-06 14:03:14 -05:00
recover.h
recoverd.c fs: dlm: handle recovery result outside of ls_recover 2022-06-24 11:57:48 -05:00
recoverd.h
requestqueue.c dlm: use __le types for dlm messages 2022-04-06 14:02:37 -05:00
requestqueue.h
user.c fs: dlm: remove DLM_LSFL_FS from uapi 2022-08-23 14:54:54 -05:00
user.h
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