<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel.git/drivers/nvme/host/fabrics.c, branch linux-rolling-stable</title>
<subtitle>Hosts the 0x221E linux distro kernel.
</subtitle>
<id>https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable</id>
<link rel='self' href='https://git.0xinfinity.dev/distro/kernel.git/atom?h=linux-rolling-stable'/>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/'/>
<updated>2026-01-02T11:57:03Z</updated>
<entry>
<title>nvme-fabrics: add ENOKEY to no retry criteria for authentication failures</title>
<updated>2026-01-02T11:57:03Z</updated>
<author>
<name>Justin Tee</name>
</author>
<published>2025-11-17T18:43:43Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=6c95c2e00996ce1d1aedf437311d1d3526c05d04'/>
<id>urn:sha1:6c95c2e00996ce1d1aedf437311d1d3526c05d04</id>
<content type='text'>
[ Upstream commit 13989207ee29c40501e719512e8dc90768325895 ]

With authentication, in addition to EKEYREJECTED there is also no point in
retrying reconnects when status is ENOKEY.  Thus, add -ENOKEY as another
criteria to determine when to stop retries.

Cc: Daniel Wagner &lt;wagi@kernel.org&gt;
Cc: Hannes Reinecke &lt;hare@suse.de&gt;
Closes: https://lore.kernel.org/linux-nvme/20250829-nvme-fc-sync-v3-0-d69c87e63aee@kernel.org/
Signed-off-by: Justin Tee &lt;justintee8345@gmail.com&gt;
Tested-by: Daniel Wagner &lt;wagi@kernel.org&gt;
Reviewed-by: Daniel Wagner &lt;wagi@kernel.org&gt;
Reviewed-by: Hannes Reinecke &lt;hare@suse.de&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme: spelling fixes</title>
<updated>2025-06-04T08:23:28Z</updated>
<author>
<name>Yi Zhang</name>
</author>
<published>2025-04-25T10:01:07Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=44e479d7202070c3bc7f084a4951ee8689769f71'/>
<id>urn:sha1:44e479d7202070c3bc7f084a4951ee8689769f71</id>
<content type='text'>
Fix various spelling errors in comments.

Signed-off-by: Yi Zhang &lt;yi.zhang@redhat.com&gt;
Reviewed-by: Chaitanya Kulkarni &lt;kch@nvidia.com&gt;
Signed-off-by: Christoph Hellwig &lt;hch@lst.de&gt;
</content>
</entry>
<entry>
<title>nvme-tcp: request secure channel concatenation</title>
<updated>2025-03-20T23:53:54Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2025-02-24T12:38:14Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=e88a7595b57f2a04f1be796419444b4a14a55d18'/>
<id>urn:sha1:e88a7595b57f2a04f1be796419444b4a14a55d18</id>
<content type='text'>
Add a fabrics option 'concat' to request secure channel concatenation as
specified the NVME Base Specification v2.1, section 8.3.4.3: Secure Channel
Concatenation.
When secure channel concatenation is enabled a 'generated PSK' is inserted
into the keyring such that it's available after reset.

Signed-off-by: Hannes Reinecke &lt;hare@kernel.org&gt;
Reviewed-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-tcp: check for invalidated or revoked key</title>
<updated>2024-08-22T20:25:07Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2024-07-22T12:02:20Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=5bc46b49c828a6dfaab80b71ecb63fe76a1096d2'/>
<id>urn:sha1:5bc46b49c828a6dfaab80b71ecb63fe76a1096d2</id>
<content type='text'>
key_lookup() will always return a key, even if that key is revoked
or invalidated. So check for invalid keys before continuing.

Signed-off-by: Hannes Reinecke &lt;hare@kernel.org&gt;
Reviewed-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-fabrics: Use seq_putc() in __nvmf_concat_opt_tokens()</title>
<updated>2024-07-15T20:43:41Z</updated>
<author>
<name>Markus Elfring</name>
</author>
<published>2024-07-13T13:43:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=1a7812b25e69f6c63c52d3bc93c0970ab7ad9660'/>
<id>urn:sha1:1a7812b25e69f6c63c52d3bc93c0970ab7ad9660</id>
<content type='text'>
Single characters should be put into a sequence.
Thus use the corresponding function “seq_putc”.

This issue was transformed by using the Coccinelle software.

Signed-off-by: Markus Elfring &lt;elfring@users.sourceforge.net&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-pci: do not directly handle subsys reset fallout</title>
<updated>2024-06-26T14:02:22Z</updated>
<author>
<name>Keith Busch</name>
</author>
<published>2024-06-24T15:56:17Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=210b1f6576e8b367907e7ff51ef425062e1468e4'/>
<id>urn:sha1:210b1f6576e8b367907e7ff51ef425062e1468e4</id>
<content type='text'>
Scheduling reset_work after a nvme subsystem reset is expected to fail
on pcie, but this also prevents potential handling the platform's pcie
services may provide that might successfully recovering the link without
re-enumeration. Such examples include AER, DPC, and power's EEH.

Provide a pci specific operation that safely initiates a subsystem
reset, and instead of scheduling reset work, read back the status
register to trigger a pcie read error.

Since this only affects pci, the other fabrics drivers subscribe to a
generic nvmf subsystem reset that is exactly the same as before. The
loop fabric doesn't use it because nvmet doesn't support setting that
property anyway.

And since we're using the magic NSSR value in two places now, provide a
symbolic define for it.

Reported-by: Nilay Shroff &lt;nilay@linux.ibm.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme: rename CDR/MORE/DNR to NVME_STATUS_*</title>
<updated>2024-06-24T19:53:42Z</updated>
<author>
<name>Weiwen Hu</name>
</author>
<published>2024-06-03T12:57:01Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=dd0b0a4a2c5d7209457dc172997d1243ad269cfa'/>
<id>urn:sha1:dd0b0a4a2c5d7209457dc172997d1243ad269cfa</id>
<content type='text'>
CDR/MORE/DNR fields are not belonging to SC in the NVMe spec, rename
them to NVME_STATUS_* to avoid confusion.

Signed-off-by: Weiwen Hu &lt;huweiwen@linux.alibaba.com&gt;
Reviewed-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Reviewed-by: Chaitanya Kulkarni &lt;kch@nvidia.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-fabrics: use reserved tag for reg read/write command</title>
<updated>2024-05-31T20:26:15Z</updated>
<author>
<name>Chunguang Xu</name>
</author>
<published>2024-05-31T09:24:21Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=7dc3bfcb4c9cc58970fff6aaa48172cb224d85aa'/>
<id>urn:sha1:7dc3bfcb4c9cc58970fff6aaa48172cb224d85aa</id>
<content type='text'>
In some scenarios, if too many commands are issued by nvme command in
the same time by user tasks, this may exhaust all tags of admin_q. If
a reset (nvme reset or IO timeout) occurs before these commands finish,
reconnect routine may fail to update nvme regs due to insufficient tags,
which will cause kernel hang forever. In order to workaround this issue,
maybe we can let reg_read32()/reg_read64()/reg_write32() use reserved
tags. This maybe safe for nvmf:

1. For the disable ctrl path,  we will not issue connect command
2. For the enable ctrl / fw activate path, since connect and reg_xx()
   are called serially.

So the reserved tags may still be enough while reg_xx() use reserved tags.

Signed-off-by: Chunguang Xu &lt;chunguang.xu@shopee.com&gt;
Reviewed-by: Sagi Grimberg &lt;sagi@grimberg.me&gt;
Reviewed-by: Chaitanya Kulkarni &lt;kch@nvidia.com&gt;
Reviewed-by: Christoph Hellwig &lt;hch@lst.de&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme: do not retry authentication failures</title>
<updated>2024-05-01T10:07:20Z</updated>
<author>
<name>Daniel Wagner</name>
</author>
<published>2024-04-30T13:19:28Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=0e34bd9605f6c95609c32aa82f0a394e2a945908'/>
<id>urn:sha1:0e34bd9605f6c95609c32aa82f0a394e2a945908</id>
<content type='text'>
When the key is invalid there is no point in retrying. Because the auth
code returns kernel error codes only, we can't test on the DNR bit.

Signed-off-by: Daniel Wagner &lt;dwagner@suse.de&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
</content>
</entry>
<entry>
<title>nvme-fabrics: short-circuit reconnect retries</title>
<updated>2024-05-01T10:07:20Z</updated>
<author>
<name>Hannes Reinecke</name>
</author>
<published>2024-04-30T13:19:27Z</published>
<link rel='alternate' type='text/html' href='https://git.0xinfinity.dev/distro/kernel.git/commit/?id=adfde7ed0b301ef14c37efe3143a8b26849843f6'/>
<id>urn:sha1:adfde7ed0b301ef14c37efe3143a8b26849843f6</id>
<content type='text'>
Returning a nvme status from nvme_tcp_setup_ctrl() indicates that the
association was established and we have received a status from the
controller; consequently we should honour the DNR bit. If not any future
reconnect attempts will just return the same error, so we can
short-circuit the reconnect attempts and fail the connection directly.

Signed-off-by: Hannes Reinecke &lt;hare@suse.de&gt;
[dwagner: - extended nvme_should_reconnect]
Signed-off-by: Daniel Wagner &lt;dwagner@suse.de&gt;
Signed-off-by: Keith Busch &lt;kbusch@kernel.org&gt;
</content>
</entry>
</feed>
