android_kernel_motorola_sm6375/net/sunrpc
Repository files (latest commit first)
Filename Latest commit message Latest commit date
NeilBrown feed3fcb6f SUNRPC: avoid soft lockup when transmitting UDP to reachable server.
[ Upstream commit 6258cf25d5e3155c3219ab5a79b970eef7996356 ]

Prior to the commit identified below, call_transmit_status() would
handle -EPERM and other errors related to an unreachable server by
falling through to call_status() which added a 3-second delay and
handled the failure as a timeout.

Since that commit, call_transmit_status() falls through to
handle_bind().  For UDP this moves straight on to handle_connect() and
handle_transmit() so we immediately retransmit - and likely get the same
error.

This results in an indefinite loop in __rpc_execute() which triggers a
soft-lockup warning.

For the errors that indicate an unreachable server,
call_transmit_status() should fall back to call_status() as it did
before.  This cannot cause the thundering herd that the previous patch
was avoiding, as the call_status() will insert a delay.

Fixes: ed7dc973bd ("SUNRPC: Prevent thundering herd when the socket is not connected")
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-08-19 05:33:32 +02:00
..
auth_gss gss_krb5: Fix the error handling path for crypto_sync_skcipher_setkey 2024-08-19 05:33:30 +02:00
xprtrdma xprtrdma: Fix regbuf data not freed in rpcrdma_req_create() 2023-02-22 12:50:29 +01:00
addr.c net: sunrpc: Fix an off by one in rpc_sockaddr2uaddr() 2024-03-26 18:22:23 -04:00
auth.c sunrpc: fix expiry of auth creds 2022-08-25 11:18:22 +02:00
auth_null.c
auth_unix.c
backchannel_rqst.c SUNRPC: Reinitialise the backchannel request buffers before reuse 2022-08-25 11:18:23 +02:00
cache.c
clnt.c SUNRPC: avoid soft lockup when transmitting UDP to reachable server. 2024-08-19 05:33:32 +02:00
debugfs.c
Kconfig
Makefile
netns.h
rpc_pipe.c
rpcb_clnt.c
sched.c SUNRPC: remove the maximum number of retries in call_bind_status 2023-05-17 11:35:52 +02:00
socklib.c
stats.c
sunrpc.h
sunrpc_syms.c
svc.c sunrpc: removed redundant procp check 2024-06-16 13:28:40 +02:00
svc_xprt.c
svcauth.c
svcauth_unix.c sunrpc: only free unix grouplist after RCU settles 2023-04-20 12:07:33 +02:00
svcsock.c SUNRPC: Fix UAF in svc_tcp_listen_data_ready() 2023-07-27 08:37:35 +02:00
sysctl.c
timer.c
xdr.c SUNRPC: Fix READ_PLUS crasher 2022-07-07 17:36:48 +02:00
xprt.c
xprtmultipath.c SUNRPC: Fix a suspicious RCU usage warning 2024-02-23 08:24:56 +01:00
xprtsock.c params: lift param_set_uint_minmax to common code 2024-06-16 13:28:45 +02:00