android_kernel_samsung_msm8976/net/sunrpc
Chuck Lever c73df6f73c svcrdma: Select NFSv4.1 backchannel transport based on forward channel
commit 3c45ddf823d679a820adddd53b52c6699c9a05ac upstream.

The current code always selects XPRT_TRANSPORT_BC_TCP for the back
channel, even when the forward channel was not TCP (eg, RDMA). When
a 4.1 mount is attempted with RDMA, the server panics in the TCP BC
code when trying to send CB_NULL.

Instead, construct the transport protocol number from the forward
channel transport or'd with XPRT_TRANSPORT_BC. Transports that do
not support bi-directional RPC will not have registered a "BC"
transport, causing create_backchannel_client() to fail immediately.

Fixes: https://bugzilla.linux-nfs.org/show_bug.cgi?id=265
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-09-05 16:28:37 -07:00
..
auth_gss rpc: let xdr layer allocate gssproxy receieve pages 2013-10-01 09:17:48 -07:00
xprtrdma svcrdma: Select NFSv4.1 backchannel transport based on forward channel 2014-09-05 16:28:37 -07:00
addr.c sunrpc: move address copy/cmp/convert routines and prototypes from clnt.h to addr.h 2013-02-05 09:41:14 -05:00
auth.c SUNRPC: Don't recognize RPC_AUTH_MAXFLAVOR 2013-04-04 17:01:00 -04:00
auth_generic.c sunrpc: Convert kuids and kgids to uids and gids for printing 2013-02-13 06:15:19 -08:00
auth_null.c
auth_unix.c sunrpc: Properly encode kuids and kgids in RPC_AUTH_UNIX credentials 2013-02-13 06:15:24 -08:00
backchannel_rqst.c SUNRPC: remove two BUG_ON asserts 2012-11-04 14:43:41 -05:00
bc_svc.c SUNRPC: remove BUG_ON from bc_send 2012-11-04 14:43:41 -05:00
cache.c Merge branch 'for-3.10' of git://linux-nfs.org/~bfields/linux 2013-05-03 10:59:39 -07:00
clnt.c sunrpc: Fix infinite loop in RPC state machine 2014-02-13 13:48:01 -08:00
Kconfig Merge branch 'rpcsec_gss-from_cel' into linux-next 2013-04-23 15:40:40 -04:00
Makefile
netns.h SUNRPC: If the rpcbind channel is disconnected, fail the call to unregister 2013-08-14 22:59:08 -07:00
rpc_pipe.c SUNRPC: Convert auth_gss pipe detection to work in namespaces 2013-05-16 06:17:54 -07:00
rpcb_clnt.c SUNRPC: If the rpcbind channel is disconnected, fail the call to unregister 2013-08-14 22:59:08 -07:00
sched.c SUNRPC: Prevent an rpc_task wakeup race 2013-05-22 14:55:32 -04:00
socklib.c
stats.c procfs: new helper - PDE_DATA(inode) 2013-04-09 14:13:32 -04:00
sunrpc.h
sunrpc_syms.c
svc.c svcrpc: fix rpc server shutdown races 2013-02-17 10:53:51 -05:00
svc_xprt.c SUNRPC: Fix a module reference leak in svc_handle_xprt 2014-07-06 18:54:14 -07:00
svcauth.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
svcauth_unix.c svcrpc: fix failures to handle -1 uid's 2013-07-25 14:07:31 -07:00
svcsock.c svcrdma: Select NFSv4.1 backchannel transport based on forward channel 2014-09-05 16:28:37 -07:00
sysctl.c
timer.c
xdr.c SUNRPC: Fix memory corruption issue on 32-bit highmem systems 2013-09-07 22:09:58 -07:00
xprt.c svcrdma: Select NFSv4.1 backchannel transport based on forward channel 2014-09-05 16:28:37 -07:00
xprtsock.c SUNRPC: Fix races in xs_nospace() 2014-03-06 21:30:08 -08:00