<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/net/sunrpc/svc.c, branch linux-4.7.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.7.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-4.7.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2016-10-07T13:21:24+00:00</updated>
<entry>
<title>NFS: Don't drop CB requests with invalid principals</title>
<updated>2016-10-07T13:21:24+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2016-06-29T17:55:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2d46690499095bc4620d8d064385968fd3ce8c7d'/>
<id>urn:sha1:2d46690499095bc4620d8d064385968fd3ce8c7d</id>
<content type='text'>
commit a4e187d83d88eeaba6252aac0a2ffe5eaa73a818 upstream.

Before commit 778be232a207 ("NFS do not find client in NFSv4
pg_authenticate"), the Linux callback server replied with
RPC_AUTH_ERROR / RPC_AUTH_BADCRED, instead of dropping the CB
request. Let's restore that behavior so the server has a chance to
do something useful about it, and provide a warning that helps
admins correct the problem.

Fixes: 778be232a207 ("NFS do not find client in NFSv4 ...")
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Tested-by: Steve Wise &lt;swise@opengridcomputing.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>svc: Avoid garbage replies when pc_func() returns rpc_drop_reply</title>
<updated>2016-10-07T13:21:24+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2016-06-29T17:55:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d1026ba2c0cb31cdbe2710faa46e7e09f169b67b'/>
<id>urn:sha1:d1026ba2c0cb31cdbe2710faa46e7e09f169b67b</id>
<content type='text'>
commit 0533b13072f4bf35738290d2cf9e299c7bc6c42a upstream.

If an RPC program does not set vs_dispatch and pc_func() returns
rpc_drop_reply, the server sends a reply anyway containing a single
word containing the value RPC_DROP_REPLY (in network byte-order, of
course). This is a nonsense RPC message.

Fixes: 9e701c610923 ("svcrpc: simpler request dropping")
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Tested-by: Steve Wise &lt;swise@opengridcomputing.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>SUNRPC: Fix callback channel</title>
<updated>2015-12-07T21:04:59+00:00</updated>
<author>
<name>Trond Myklebust</name>
<email>trond.myklebust@primarydata.com</email>
</author>
<published>2015-12-07T20:52:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=756b9b37cfb2e3dc76b2e43a8c097402ac736e07'/>
<id>urn:sha1:756b9b37cfb2e3dc76b2e43a8c097402ac736e07</id>
<content type='text'>
The NFSv4.1 callback channel is currently broken because the receive
message will keep shrinking because the backchannel receive buffer size
never gets reset.
The easiest solution to this problem is instead of changing the receive
buffer, to rather adjust the copied request.

Fixes: 38b7631fbe42 ("nfs4: limit callback decoding to received bytes")
Cc: Benjamin Coddington &lt;bcodding@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>nfs4: limit callback decoding to received bytes</title>
<updated>2015-11-24T03:03:15+00:00</updated>
<author>
<name>Benjamin Coddington</name>
<email>bcodding@redhat.com</email>
</author>
<published>2015-11-20T14:55:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=38b7631fbe42e6e247e9fc9879f961b14a687e3b'/>
<id>urn:sha1:38b7631fbe42e6e247e9fc9879f961b14a687e3b</id>
<content type='text'>
A truncated cb_compound request will cause the client to decode null or
data from a previous callback for nfs4.1 backchannel case, or uninitialized
data for the nfs4.0 case. This is because the path through
svc_process_common() advances the request's iov_base and decrements iov_len
without adjusting the overall xdr_buf's len field.  That causes
xdr_init_decode() to set up the xdr_stream with an incorrect length in
nfs4_callback_compound().

Fixing this for the nfs4.1 backchannel case first requires setting the
correct iov_len and page_len based on the length of received data in the
same manner as the nfs4.0 case.

Then the request's xdr_buf length can be adjusted for both cases based upon
the remaining iov_len and page_len.

Signed-off-by: Benjamin Coddington &lt;bcodding@redhat.com&gt;
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust &lt;trond.myklebust@primarydata.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Remove the TCP-only restriction in bc_svc_process()</title>
<updated>2015-11-02T18:45:15+00:00</updated>
<author>
<name>Chuck Lever</name>
<email>chuck.lever@oracle.com</email>
</author>
<published>2015-10-24T21:28:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0f2e3bdab6590a5d8900e7d701e21ac9af19924c'/>
<id>urn:sha1:0f2e3bdab6590a5d8900e7d701e21ac9af19924c</id>
<content type='text'>
Allow the use of other transport classes when handling a backward
direction RPC call.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Reviewed-by: Sagi Grimberg &lt;sagig@mellanox.com&gt;
Tested-By: Devesh Sharma &lt;devesh.sharma@avagotech.com&gt;
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
</content>
</entry>
<entry>
<title>nfsd/sunrpc: factor svc_rqst allocation and freeing from sv_nrthreads refcounting</title>
<updated>2015-08-10T20:05:44+00:00</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@primarydata.com</email>
</author>
<published>2015-06-08T19:11:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=1b6dc1dffbb142de60eb65f6155276ac31ff5474'/>
<id>urn:sha1:1b6dc1dffbb142de60eb65f6155276ac31ff5474</id>
<content type='text'>
In later patches, we'll want to be able to allocate and free svc_rqst
structures without monkeying with the serv-&gt;sv_nrthreads refcount.

Factor those pieces out of their respective functions.

Signed-off-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Acked-by: Jeff Layton &lt;jlayton@primarydata.com&gt;
Tested-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>nfsd/sunrpc: move pool_mode definitions into svc.h</title>
<updated>2015-08-10T20:05:43+00:00</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@primarydata.com</email>
</author>
<published>2015-06-08T19:09:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=d70bc0c67c7aaf0d00084b2f91b44fe1a8ae4e15'/>
<id>urn:sha1:d70bc0c67c7aaf0d00084b2f91b44fe1a8ae4e15</id>
<content type='text'>
In later patches, we're going to need to allow code external to svc.c
to figure out what pool_mode is in use. Move these definitions into
svc.h to prepare for that.

Also, make the svc_pool_map object available and exported so that other
modules can peek in there to get insight into what pool mode is in use.
Likewise, export svc_pool_map_get/put function to make it safe to do so.

Signed-off-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Acked-by: Jeff Layton &lt;jlayton@primarydata.com&gt;
Tested-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>nfsd/sunrpc: move sv_module parm into sv_ops</title>
<updated>2015-08-10T20:05:41+00:00</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@primarydata.com</email>
</author>
<published>2015-06-08T19:05:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=758f62fff9ad630f05866a1dd6ae9453a7730c2e'/>
<id>urn:sha1:758f62fff9ad630f05866a1dd6ae9453a7730c2e</id>
<content type='text'>
...not technically an operation, but it's more convenient and cleaner
to pass the module pointer in this struct.

Signed-off-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Acked-by: Jeff Layton &lt;jlayton@primarydata.com&gt;
Tested-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>nfsd/sunrpc: move sv_function into sv_ops</title>
<updated>2015-08-10T20:05:41+00:00</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@primarydata.com</email>
</author>
<published>2015-06-08T19:04:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c369014f1776367269c8fbb5ea8932826d89ce2f'/>
<id>urn:sha1:c369014f1776367269c8fbb5ea8932826d89ce2f</id>
<content type='text'>
Since we now have a container for holding svc_serv operations, move the
sv_function into it as well.

Signed-off-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Acked-by: Jeff Layton &lt;jlayton@primarydata.com&gt;
Tested-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
<entry>
<title>nfsd/sunrpc: add a new svc_serv_ops struct and move sv_shutdown into it</title>
<updated>2015-08-10T20:05:40+00:00</updated>
<author>
<name>Jeff Layton</name>
<email>jlayton@primarydata.com</email>
</author>
<published>2015-06-08T19:03:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ea126e74353453d15fc0a181910ae1e25162f2a1'/>
<id>urn:sha1:ea126e74353453d15fc0a181910ae1e25162f2a1</id>
<content type='text'>
In later patches we'll need to abstract out more operations on a
per-service level, besides sv_shutdown and sv_function.

Declare a new svc_serv_ops struct to hold these operations, and move
sv_shutdown into this struct.

Signed-off-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Acked-by: Jeff Layton &lt;jlayton@primarydata.com&gt;
Tested-by: Shirley Ma &lt;shirley.ma@oracle.com&gt;
Signed-off-by: J. Bruce Fields &lt;bfields@redhat.com&gt;
</content>
</entry>
</feed>
