<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/net/sunrpc/svc.c, branch linux-6.3.y</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.3.y</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-6.3.y'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2023-05-24T16:30:16Z</updated>
<entry>
<title>SUNRPC: Fix trace_svc_register() call site</title>
<updated>2023-05-24T16:30:16Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-05-14T19:51:48Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6afdb52f3b58c0fa21b0b53cb9cd03fa42b90f90'/>
<id>urn:sha1:6afdb52f3b58c0fa21b0b53cb9cd03fa42b90f90</id>
<content type='text'>
[ Upstream commit 07a27305938559fb35f7a46fb90a5e37728bdee6 ]

The trace event recorded incorrect values for the registered family,
protocol, and port because the arguments are in the wrong order.

Fixes: b4af59328c25 ("SUNRPC: Trace server-side rpcbind registration events")
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Fix encoding of accepted but unsuccessful RPC replies</title>
<updated>2023-05-24T16:30:13Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-05-02T18:59:10Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9b59f5c4911e87264507e0934cd2bb277390c560'/>
<id>urn:sha1:9b59f5c4911e87264507e0934cd2bb277390c560</id>
<content type='text'>
[ Upstream commit 29cd2927fb914cc53b5ba4f67d2b74695c994ba4 ]

Jiri Slaby says:
&gt; I bisected to this ... as it breaks nfs3-only servers in 6.3.
&gt; I.e. /etc/nfs.conf containing:
&gt; [nfsd]
&gt; vers4=no
&gt;
&gt; The client sees:
&gt;  mount("10.0.2.15:/tmp", "/mnt", "nfs", 0, "vers=4.2,addr=10.0.2.15,clientad"...) = -1 EIO (Input/output error)
&gt;  write(2, "mount.nfs: mount system call fai"..., 45
&gt;  mount.nfs: mount system call failed for /mnt
&gt;
&gt; And the kernel says:
&gt;  nfs4_discover_server_trunking unhandled error -5. Exiting with error EIO

Reported-by: Jiri Slaby &lt;jirislaby@kernel.org&gt;
Link: https://bugzilla.suse.com/show_bug.cgi?id=1210995
Fixes: 4bcf0343e8a6 ("SUNRPC: Set rq_accept_statp inside -&gt;accept methods")
Tested-by: Jiri Slaby &lt;jirislaby@kernel.org&gt;
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Fix a server shutdown leak</title>
<updated>2023-03-08T13:46:41Z</updated>
<author>
<name>Benjamin Coddington</name>
</author>
<published>2023-03-03T21:08:32Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=9ca6705d9d609441d34f8b853e1e4a6369b3b171'/>
<id>urn:sha1:9ca6705d9d609441d34f8b853e1e4a6369b3b171</id>
<content type='text'>
Fix a race where kthread_stop() may prevent the threadfn from ever getting
called.  If that happens the svc_rqst will not be cleaned up.

Fixes: ed6473ddc704 ("NFSv4: Fix callback server shutdown")
Signed-off-by: Benjamin Coddington &lt;bcodding@redhat.com&gt;
Reviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Replace pool stats with per-CPU variables</title>
<updated>2023-02-20T14:20:32Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-01-10T15:32:00Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=ccf08bed6e7a80519569456edd2ea21b7b1701c6'/>
<id>urn:sha1:ccf08bed6e7a80519569456edd2ea21b7b1701c6</id>
<content type='text'>
Eliminate the use of bus-locked operations in svc_xprt_enqueue(),
which is a hot path. Replace them with per-cpu variables to reduce
cross-CPU memory bus traffic.

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Use per-CPU counters to tally server RPC counts</title>
<updated>2023-02-20T14:20:32Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-01-10T15:31:54Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=65ba3d2425bf51165b6e88509c632bd15d12883d'/>
<id>urn:sha1:65ba3d2425bf51165b6e88509c632bd15d12883d</id>
<content type='text'>
 - Improves counting accuracy
 - Reduces cross-CPU memory traffic

Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Set rq_accept_statp inside -&gt;accept methods</title>
<updated>2023-02-20T14:20:31Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-01-08T16:31:05Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=4bcf0343e8a69eb22f7e83bfa7cfce32a28c9d95'/>
<id>urn:sha1:4bcf0343e8a69eb22f7e83bfa7cfce32a28c9d95</id>
<content type='text'>
To navigate around the space that svcauth_gss_accept() reserves
for the RPC payload body length and sequence number fields,
svcauth_gss_release() does a little dance with the reply's
accept_stat, moving the accept_stat value in the response buffer
down by two words.

Instead, let's have the -&gt;accept() methods each set the proper
final location of the accept_stat to avoid having to move
things.

Reviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Refactor RPC server dispatch method</title>
<updated>2023-02-20T14:20:31Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-01-08T16:30:59Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=cee4db19452467eef8ab93c6eb6a3a84d11d25d7'/>
<id>urn:sha1:cee4db19452467eef8ab93c6eb6a3a84d11d25d7</id>
<content type='text'>
Currently, svcauth_gss_accept() pre-reserves response buffer space
for the RPC payload length and GSS sequence number before returning
to the dispatcher, which then adds the header's accept_stat field.

The problem is the accept_stat field is supposed to go before the
length and seq_num fields. So svcauth_gss_release() has to relocate
the accept_stat value (see svcauth_gss_prepare_to_wrap()).

To enable these fields to be added to the response buffer in the
correct (final) order, the pointer to the accept_stat has to be made
available to svcauth_gss_accept() so that it can set it before
reserving space for the length and seq_num fields.

As a first step, move the pointer to the location of the accept_stat
field into struct svc_rqst.

Reviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Final clean-up of svc_process_common()</title>
<updated>2023-02-20T14:20:31Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-01-08T16:30:46Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5f69d5f65a5468960291ff0c5dfe16b8072bab8a'/>
<id>urn:sha1:5f69d5f65a5468960291ff0c5dfe16b8072bab8a</id>
<content type='text'>
The @resv parameter is no longer used.

Reviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Convert RPC Reply header encoding to use xdr_stream</title>
<updated>2023-02-20T14:20:30Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-01-08T16:30:40Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=649a692e0f2bc4a3b3a2a67aec30e53548930b97'/>
<id>urn:sha1:649a692e0f2bc4a3b3a2a67aec30e53548930b97</id>
<content type='text'>
The main part of RPC header encoding and the formation of error
responses are now done using the xdr_stream helpers. Bounds checking
before each XDR data item is encoded makes the server's encoding
path safer against accidental buffer overflows.

Reviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
</content>
</entry>
<entry>
<title>SUNRPC: Hoist init_encode out of svc_authenticate()</title>
<updated>2023-02-20T14:20:29Z</updated>
<author>
<name>Chuck Lever</name>
</author>
<published>2023-01-08T16:30:34Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=fcef2afffe67db884f2970817b8e721d86df2986'/>
<id>urn:sha1:fcef2afffe67db884f2970817b8e721d86df2986</id>
<content type='text'>
Now that each -&gt;accept method has been converted, the
svcxdr_init_encode() calls can be hoisted back up into the generic
RPC server code.

Reviewed-by: Jeff Layton &lt;jlayton@kernel.org&gt;
Signed-off-by: Chuck Lever &lt;chuck.lever@oracle.com&gt;
</content>
</entry>
</feed>
