Trond Myklebust 5ba8d8b5a2 SUNRPC: Fix a potential race in xprt_connect()
[ Upstream commit 0a9a4304f3614e25d9de9b63502ca633c01c0d70 ]

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: 0b9e79431377d ("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-05-16 10:08:44 +02:00
2018-04-13 19:48:29 +02:00
2018-12-17 09:38:31 +01:00
2018-12-01 09:44:19 +01:00
2016-10-20 11:23:08 -04:00
2018-11-10 07:42:58 -08:00