android_kernel_google_msm/net/sunrpc
Trond Myklebust 6c6dff6553 SUNRPC: Prevent races in xs_abort_connection()
commit 4bc1e68ed6 upstream.

The call to xprt_disconnect_done() that is triggered by a successful
connection reset will trigger another automatic wakeup of all tasks
on the xprt->pending rpc_wait_queue. In particular it will cause an
early wake up of the task that called xprt_connect().

All we really want to do here is clear all the socket-specific state
flags, so we split that functionality out of xs_sock_mark_closed()
into a helper that can be called by xs_abort_connection()

Reported-by: Chris Perl <chris.perl@gmail.com>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Tested-by: Chris Perl <chris.perl@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-10-31 10:02:57 -07:00
..
auth_gss auth_gss: the list of pseudoflavors not being parsed correctly 2012-05-03 12:35:33 -04:00
xprtrdma SUNRPC: Fix a UDP transport regression 2012-10-28 10:14:13 -07:00
addr.c SUNRPC: parametrize rpc_uaddr2sockaddr() by network context 2012-01-31 19:28:12 -05:00
auth.c
auth_generic.c SUNRPC: Fix machine creds in generic_create_cred and generic_match 2012-01-23 14:03:46 -08:00
auth_null.c
auth_unix.c
backchannel_rqst.c SUNRPC: Fix a few sparse warnings 2012-03-11 19:30:02 -04:00
bc_svc.c
cache.c SUNRPC: Prevent kernel stack corruption on long values of flush 2012-10-28 10:14:13 -07:00
clnt.c sunrpc: clnt: Add missing braces 2012-08-15 08:10:04 -07:00
Kconfig SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG 2012-03-20 13:08:26 -04:00
Makefile
netns.h SUNRPC: create GSS auth cache per network namespace 2012-01-31 19:28:15 -05:00
rpc_pipe.c rpc_pipefs: allow rpc_purge_list to take a NULL waitq pointer 2012-06-22 11:36:55 -07:00
rpcb_clnt.c SUNRPC: return negative value in case rpcbind client creation error 2012-08-15 08:10:05 -07:00
sched.c nfs: skip commit in releasepage if we're freeing memory for fs-related reasons 2012-08-09 08:31:40 -07:00
socklib.c sunrpc: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:28 +08:00
stats.c SUNRPC: Use RCU to dereference the rpc_clnt.cl_xprt field 2012-03-02 15:36:38 -05:00
sunrpc.h SUNRPC: subscribe RPC clients to pipefs notifications 2012-01-31 18:20:25 -05:00
sunrpc_syms.c SUNRPC: register PipeFS file system after pernet sybsystem 2012-04-18 11:05:48 -04:00
svc.c SUNRPC: move per-net operations from svc_destroy() 2012-07-16 09:04:39 -07:00
svc_xprt.c svcrpc: sends on closed socket should stop immediately 2012-09-14 10:00:19 -07:00
svcauth.c
svcauth_unix.c Merge nfs containerization work from Trond's tree 2012-03-26 11:48:54 -04:00
svcsock.c svcrpc: fix BUG() in svc_tcp_clear_pages 2012-09-14 10:00:19 -07:00
sysctl.c SUNRPC: make SUNPRC clients list per network namespace context 2012-01-31 18:20:25 -05:00
timer.c
xdr.c sunrpc: remove the second argument of k[un]map_atomic() 2012-03-20 21:48:28 +08:00
xprt.c SUNRPC: Fix a UDP transport regression 2012-10-28 10:14:13 -07:00
xprtsock.c SUNRPC: Prevent races in xs_abort_connection() 2012-10-31 10:02:57 -07:00