Trond Myklebust
5ba8d8b5a2
SUNRPC: Fix a potential race in xprt_connect()
...
[ Upstream commit 0a9a4304f3 ]
If an asynchronous connection attempt completes while another task is
in xprt_connect(), then the call to rpc_sleep_on() could end up
racing with the call to xprt_wake_pending_tasks().
So add a second test of the connection state after we've put the
task to sleep and set the XPRT_CONNECTING flag, when we know that there
can be no asynchronous connection attempts still in progress.
Fixes: 0b9e794313 ("SUNRPC: Move the test for XPRT_CONNECTING into...")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com >
Signed-off-by: Sasha Levin <sashal@kernel.org >
2018-12-21 14:11:36 +01:00
..
2018-10-03 17:01:42 -07:00
2018-11-21 09:25:57 +01:00
2015-03-02 16:43:41 -05:00
2018-04-13 19:48:34 +02:00
2016-09-10 21:19:10 -07:00
2018-05-16 10:08:44 +02:00
2017-02-04 09:47:09 +01:00
2018-12-13 09:20:25 +01:00
2018-11-10 07:42:42 -08:00
2018-11-10 07:42:57 -08:00
2018-09-05 09:20:00 +02:00
2018-01-31 12:55:50 +01:00
2018-12-08 13:05:10 +01:00
2018-12-17 09:38:31 +01:00
2018-09-19 22:47:15 +02:00
2018-10-18 09:13:23 +02:00
2018-02-25 11:05:44 +01:00
2018-07-22 14:27:39 +02:00
2018-08-06 16:23:03 +02:00
2017-02-18 15:11:43 +01:00
2018-04-13 19:48:29 +02:00
2018-12-01 09:44:26 +01:00
2018-12-17 09:38:31 +01:00
2018-12-17 09:38:30 +01:00
2017-05-25 15:44:41 +02:00
2018-09-15 09:43:01 +02:00
2018-03-31 18:11:34 +02:00
2018-06-13 16:16:42 +02:00
2018-06-16 09:52:32 +02:00
2018-11-10 07:42:54 -08:00
2016-09-10 23:12:53 -07:00
2016-05-29 22:33:25 -07:00
2018-12-01 09:44:19 +01:00
2018-12-21 14:11:32 +01:00
2018-09-09 20:01:19 +02:00
2018-03-11 16:21:34 +01:00
2016-10-20 11:23:08 -04:00
2018-12-17 09:38:33 +01:00
2018-10-18 09:13:22 +02:00
2018-08-09 12:17:59 +02:00
2015-06-18 21:14:32 +02:00
2018-09-29 03:07:30 -07:00
2018-05-30 07:50:23 +02:00
2018-08-24 13:12:41 +02:00
2016-02-11 03:54:14 -05:00
2018-08-24 13:12:36 +02:00
2018-11-10 07:42:50 -08:00
2018-05-16 10:08:43 +02:00
2016-07-13 11:53:40 -07:00
2018-11-10 07:42:56 -08:00
2018-12-17 09:38:31 +01:00
2018-12-01 09:44:19 +01:00
2018-04-29 11:32:02 +02:00
2018-12-21 14:11:36 +01:00
2016-10-19 10:58:04 -04:00
2018-12-08 13:05:09 +01:00
2017-11-18 11:22:22 +01:00
2018-08-22 07:47:13 +02:00
2015-08-09 22:43:52 -07:00
2018-11-10 07:42:42 -08:00
2018-04-13 19:48:00 +02:00
2018-11-13 11:16:47 -08:00
2018-05-19 10:26:58 +02:00
2016-08-17 19:36:23 -04:00
2016-08-17 19:36:23 -04:00
2018-11-10 07:42:58 -08:00
2016-10-06 09:52:23 -07:00