Trond Myklebust f00432063d SUNRPC: Ensure we flush any closed sockets before xs_xprt_free()
We must ensure that all sockets are closed before we call xprt_free()
and release the reference to the net namespace. The problem is that
calling fput() will defer closing the socket until delayed_fput() gets
called.
Let's fix the situation by allowing rpciod and the transport teardown
code (which runs on the system wq) to call __fput_sync(), and directly
close the socket.

Reported-by: Felix Fu <foyjog@gmail.com>
Acked-by: Al Viro <viro@zeniv.linux.org.uk>
Fixes: a73881c96d73 ("SUNRPC: Fix an Oops in udp_poll()")
Cc: stable@vger.kernel.org # 5.1.x: 3be232f11a3c: SUNRPC: Prevent immediate close+reconnect
Cc: stable@vger.kernel.org # 5.1.x: 89f42494f92f: SUNRPC: Don't call connect() more than once on a TCP socket
Cc: stable@vger.kernel.org # 5.1.x
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-04-07 16:19:47 -04:00
..
2022-01-30 22:13:37 +09:00
2022-01-22 08:33:37 +02:00
2021-08-19 09:02:55 +09:00
2022-02-15 09:14:05 -08:00
2021-11-09 10:02:51 -08:00
2021-10-25 19:11:50 -07:00
2022-01-12 11:11:34 -08:00
2021-12-03 18:44:06 +01:00
2022-02-11 11:36:32 -08:00
2021-11-03 09:23:25 -07:00
2022-02-04 00:12:22 -06:00
2022-02-02 10:14:31 -08:00
2022-02-09 09:56:57 -08:00
2022-01-22 08:33:38 +02:00
2022-02-01 11:23:02 -08:00
2022-01-10 11:48:37 -08:00
2022-01-16 10:15:32 +02:00
2021-08-19 09:02:55 +09:00
2022-02-05 09:21:55 -08:00
2021-12-17 16:56:35 +09:00
2022-01-22 08:33:34 +02:00
2021-11-17 09:26:09 +01:00
2022-01-12 13:45:12 -08:00
2022-01-22 08:33:35 +02:00
2022-01-21 16:07:21 +02:00
2022-02-04 00:12:22 -06:00
2022-01-22 08:33:38 +02:00
\n
2022-01-28 17:51:31 +02:00
2022-01-22 08:33:36 +02:00
2021-08-10 17:57:22 +02:00