linux-stable/fs/dlm
Alexander Aring c7ce2db3f5 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:15:47 +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: fix race between test_bit() and queue_work() 2022-10-21 12:37:36 +02:00
ast.h
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
dlm_internal.h fs: dlm: don't use deprecated timeout features by default 2022-08-01 09:31:38 -05:00
lock.c fs: dlm: fix invalid derefence of sb_lvbptr 2022-10-21 12:37:37 +02: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: retry accept() until -EAGAIN or error returns 2023-01-07 11:15:47 +01:00
lowcomms.h fs: dlm: memory cache for lowcomms hotpath 2021-12-07 12:42:26 -06:00
lvb_table.h
main.c fs: dlm: initial support for tracepoints 2021-11-02 14:39:20 -05:00
member.c fs: dlm: make new_lockspace() wait until recovery completes 2022-06-24 11:57:47 -05:00
member.h
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
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: don't use deprecated timeout features by default 2022-08-01 09:31:38 -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