SUNRPC: Fix a race in the receive code path
authorTrond Myklebust <trond.myklebust@primarydata.com>
Fri, 15 Dec 2017 02:24:08 +0000 (21:24 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Fri, 15 Dec 2017 19:31:56 +0000 (14:31 -0500)
commit90d91b0cd371193d9dbfa9beacab8ab9a4cb75e0
treeb849c5a611ba70582e6e5612b25c6c00c612efaf
parentdc4fd9ab01ab379ae5af522b3efd4187a7c30a31
SUNRPC: Fix a race in the receive code path

We must ensure that the call to rpc_sleep_on() in xprt_transmit() cannot
race with the call to xprt_complete_rqst().

Reported-by: Chuck Lever <chuck.lever@oracle.com>
Link: https://bugzilla.linux-nfs.org/show_bug.cgi?id=317
Fixes: ce7c252a8c74 ("SUNRPC: Add a separate spinlock to protect..")
Cc: stable@vger.kernel.org # 4.14+
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
net/sunrpc/xprt.c