<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/sunrpc/clnt.c, branch linux-5.18.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.18.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-5.18.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2022-06-22T12:27:57Z</updated>
<entry>
<title>sunrpc: set cl_max_connect when cloning an rpc_clnt</title>
<updated>2022-06-22T12:27:57Z</updated>
<author>
<name>Scott Mayhew</name>
</author>
<published>2022-06-01T17:34:49Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5d57d50b45d26a9476dab94d742ebd116e3e5e8c'/>
<id>urn:sha1:5d57d50b45d26a9476dab94d742ebd116e3e5e8c</id>
<content type='text'>
[ Upstream commit 304791255a2dc1c9be7e7c8a6cbdb31b6847b0e5 ]

If the initial attempt at trunking detection using the krb5i auth flavor
fails with -EACCES, -NFS4ERR_CLID_INUSE, or -NFS4ERR_WRONGSEC, then the
NFS client tries again using auth_sys, cloning the rpc_clnt in the
process.  If this second attempt at trunking detection succeeds, then
the resulting nfs_client-&gt;cl_rpcclient winds up having cl_max_connect=0
and subsequent attempts to add additional transport connections to the
rpc_clnt will fail with a message similar to the following being logged:

[502044.312640] SUNRPC: reached max allowed number (0) did not add
transport to server: 192.168.122.3

Signed-off-by: Scott Mayhew &lt;smayhew@redhat.com&gt;
Fixes: dc48e0abee24 ("SUNRPC enforce creation of no more than max_connect xprts")
Signed-off-by: Anna Schumaker &lt;Anna.Schumaker@Netapp.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Ensure that the gssproxy client can start in a connected state</title>
<updated>2022-05-07T18:31:15Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-05-07T17:53:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fd13359f54ee854f00134abc6be32da94ec53dbf'/>
<id>urn:sha1:fd13359f54ee854f00134abc6be32da94ec53dbf</id>
<content type='text'>
Ensure that the gssproxy client connects to the server from the gssproxy
daemon process context so that the AF_LOCAL socket connection is done
using the correct path and namespaces.

Fixes: 1d658336b05f ("SUNRPC: Add RPC based upcall mechanism for RPCGSS auth")
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>Revert "SUNRPC: Ensure gss-proxy connects on setup"</title>
<updated>2022-05-07T18:30:40Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-05-07T17:48:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=3d1b0d351441c2be7de082b92f43d0bfdc95a8f3'/>
<id>urn:sha1:3d1b0d351441c2be7de082b92f43d0bfdc95a8f3</id>
<content type='text'>
This reverts commit 892de36fd4a98fab3298d417c051d9099af5448d.

The gssproxy server is unresponsive when it calls into the kernel to
start the upcall service, so it will not reply to our RPC ping at all.

Reported-by: "J.Bruce Fields" &lt;bfields@fieldses.org&gt;
Fixes: 892de36fd4a9 ("SUNRPC: Ensure gss-proxy connects on setup")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Ensure gss-proxy connects on setup</title>
<updated>2022-04-29T16:29:31Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-04-29T16:22:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=892de36fd4a98fab3298d417c051d9099af5448d'/>
<id>urn:sha1:892de36fd4a98fab3298d417c051d9099af5448d</id>
<content type='text'>
For reasons best known to the author, gss-proxy does not implement a
NULL procedure, and returns RPC_PROC_UNAVAIL. However we still want to
ensure that we connect to the service at setup time.
So add a quirk-flag specially for this case.

Fixes: 1d658336b05f ("SUNRPC: Add RPC based upcall mechanism for RPCGSS auth")
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC release the transport of a relocated task with an assigned transport</title>
<updated>2022-04-22T15:11:31Z</updated>
<author>
<name>Olga Kornievskaia</name>
</author>
<published>2022-04-21T14:32:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e13433b4416fa31a24e621cbbbb39227a3d651dd'/>
<id>urn:sha1:e13433b4416fa31a24e621cbbbb39227a3d651dd</id>
<content type='text'>
A relocated task must release its previous transport.

Fixes: 82ee41b85cef1 ("SUNRPC don't resend a task on an offlined transport")
Signed-off-by: Olga Kornievskaia &lt;kolga@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Handle allocation failure in rpc_new_task()</title>
<updated>2022-04-07T20:20:00Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-04-07T02:36:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=25cf32ad5dba79385f6e7de9008dcb75556c42d2'/>
<id>urn:sha1:25cf32ad5dba79385f6e7de9008dcb75556c42d2</id>
<content type='text'>
If the call to rpc_alloc_task() fails, then ensure that the calldata is
released, and that rpc_run_task() and rpc_run_bc_task() bail out early.

Reported-by: NeilBrown &lt;neilb@suse.de&gt;
Fixes: 910ad38697d9 ("NFS: Fix memory allocation in rpc_alloc_task()")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Handle low memory situations in call_status()</title>
<updated>2022-04-07T20:20:00Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-04-07T13:50:19Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9d82819d5b065348ce623f196bf601028e22ed00'/>
<id>urn:sha1:9d82819d5b065348ce623f196bf601028e22ed00</id>
<content type='text'>
We need to handle ENFILE, ENOBUFS, and ENOMEM, because
xprt_wake_pending_tasks() can be called with any one of these due to
socket creation failures.

Fixes: b61d59fffd3e ("SUNRPC: xs_tcp_connect_worker{4,6}: merge common code")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Handle ENOMEM in call_transmit_status()</title>
<updated>2022-04-07T20:20:00Z</updated>
<author>
<name>Trond Myklebust</name>
</author>
<published>2022-04-07T03:18:57Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=d3c15033b240767d0287f1c4a529cbbe2d5ded8a'/>
<id>urn:sha1:d3c15033b240767d0287f1c4a529cbbe2d5ded8a</id>
<content type='text'>
Both call_transmit() and call_bc_transmit() can now return ENOMEM, so
let's make sure that we handle the errors gracefully.

Fixes: 0472e4766049 ("SUNRPC: Convert socket page send code to use iov_iter()")
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: handle malloc failure in -&gt;request_prepare</title>
<updated>2022-03-30T02:15:46Z</updated>
<author>
<name>NeilBrown</name>
</author>
<published>2022-03-30T00:48:37Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=eb07d5a4da041fd2e30e386e5fd12d23bb31cf9e'/>
<id>urn:sha1:eb07d5a4da041fd2e30e386e5fd12d23bb31cf9e</id>
<content type='text'>
If -&gt;request_prepare() detects an error, it sets -&gt;rq_task-&gt;tk_status.
This is easy for callers to ignore.
The only caller is xprt_request_enqueue_receive() and it does ignore the
error, as does call_encode() which calls it.  This can result in a
request being queued to receive a reply without an allocated receive buffer.

So instead of setting rq_task-&gt;tk_status, return an error, and store in
-&gt;tk_status only in call_encode();

The call to xprt_request_enqueue_receive() is now earlier in
call_encode(), where the error can still be handled.

Signed-off-by: NeilBrown &lt;neilb@suse.de&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC don't resend a task on an offlined transport</title>
<updated>2022-03-24T16:06:07Z</updated>
<author>
<name>Olga Kornievskaia</name>
</author>
<published>2022-03-24T14:22:58Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=82ee41b85cef16b4be1f4732650012d9baaedddd'/>
<id>urn:sha1:82ee41b85cef16b4be1f4732650012d9baaedddd</id>
<content type='text'>
When a task is being retried, due to an NFS error, if the assigned
transport has been put offline and the task is relocatable pick a new
transport.

Fixes: 6f081693e7b2b ("sunrpc: remove an offlined xprt using sysfs")
Signed-off-by: Olga Kornievskaia &lt;kolga@netapp.com&gt;
Signed-off-by: Trond Myklebust &lt;trond.myklebust@hammerspace.com&gt;
</content>
</entry>
</feed>
