Linux-NVME Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [GIT PULL] nvme updates for Linux 7.4
@ 2026-10-15 20:51 Keith Busch
  2026-10-15 22:35 ` Jens Axboe
  0 siblings, 1 reply; 5+ messages in thread
From: Keith Busch @ 2026-10-15 20:51 UTC (permalink / raw)
  To: axboe; +Cc: linux-nvme, hch, sagi

The following changes since commit 85bffad4d2fea373a72d68bed8012e8cbccb8ee7:

  block: simplify disk_zone_set_cond() (2026-09-15 06:53:06 -0600)

are available in the Git repository at:

  git://git.infradead.org/nvme.git tags/nvme-7.4-2026-10-15

for you to fetch changes up to 2e8e30b3cf9f165e1a1d079331543cb7f2ad0e0c:

  Revert "nvme-pci: clamp max_hw_sectors based on DMA optimized limitation" (2026-10-15 07:20:49 -0700)

----------------------------------------------------------------
nvme updates for Linux 7.4

 - Parallelize nvme-tcp I/O queue setup and use the caller's network
   namespace
 - New multipath sysfs attributes for path state, available
   iopolicies, and fail on controller loss
 - Multipath fixes for failfast/ANA path evaluation and discovery
   subsystem iopolicy reporting
 - Apple M4 ANS2 NVMe support
 - Traffic based keep alive support for the target
 - DH-HMAC-CHAP hardening for host and target: enforce bidirectional
   auth, require auth before property set, fix state UAF, reject short
   payloads, restrict secret visibility
 - Target reservation preempt fixes
 - Target passthru I/O use-after-free fix
 - Fix out-of-bounds reads and memory leaks from device and host
   supplied data: FDP config log, ZNS zone reports, file namespace
   range errors
 - Enforce partition checks for unprivileged passthrough
 - nvme-rdma fix for bogus remote invalidation
 - nvmet-fc fix for recursive locking hang on port unlink
 - Revert DMA opt max_hw_sectors clamp due to performance regressions
 - Misc cleanups

----------------------------------------------------------------
Andrea Parri (1):
      nvmet: zns: don't leak stale memory in zone management receive

Christoph Hellwig (1):
      Revert "nvme-pci: clamp max_hw_sectors based on DMA optimized limitation"

Daejun Park (2):
      nvmet: fix use-after-free of the old registrant in nvmet_pr_preempt()
      nvmet: fix preempt of another registrant by the reservation holder

Guixin Liu (1):
      nvme-multipath: expose path_state via sysfs

Jesse Taube (1):
      nvmet: Add traffic based keep alive support to configfs

Jérémy Jean (2):
      nvmet-auth: serialize access to DH-HMAC-CHAP state to fix UAF
      nvmet: free the bvec on file namespace range errors

Krishna Iyer (2):
      nvme-multipath: fix path state evaluation for failfast and ANA
      nvme-multipath: add fail_on_ctrl_loss sysfs attribute

Laurence Oberman (1):
      nvme-multipath: add iopolicies sysfs attribute

Martin Belanger (1):
      nvme: make the DH-HMAC-CHAP secret attributes readable by root only

Martin George (1):
      nvme-multipath: report "none" iopolicy for discovery subsystems

Nilay Shroff (2):
      nvmet: introduce struct nvmet_passthru
      nvmet: fix use-after-free in passthru I/O hotpath

Palla Raghunath (1):
      nvmet-fc: don't drop the last assoc reference in nvmet_fc_delete_ctrl()

Peng Fan (1):
      nvme: use assign_bit() where applicable

Sung Byeongchan (2):
      nvmet: require authentication before property set
      nvmet-auth: reject undersized AUTH_SEND payloads

Surabhi Gogte (3):
      nvme-tcp: store and use the caller's network namespace
      nvme-tcp: refactor I/O queue setup path
      nvme-tcp: parallelize I/O queue allocation and startup

Yao Sang (1):
      nvme: pass partition flags to passthrough checks

Yehyeong Lee (3):
      nvme-rdma: don't complete a request after a bogus remote invalidation
      nvme-auth: fail when the controller does not authenticate itself
      nvme: bound FDP config log reads to the received buffer

Yureka Lilian (2):
      dt-bindings: nvme: Add apple,t8132-nvme-ans2 compatible
      nvme: apple: add t8132 (M4) ANS2 NVMe support

 Documentation/ABI/stable/sysfs-nvme                |  52 +++++++
 .../devicetree/bindings/nvme/apple,nvme-ans.yaml   |   1 +
 drivers/nvme/host/apple.c                          |  39 +++++-
 drivers/nvme/host/auth.c                           |  15 +-
 drivers/nvme/host/core.c                           |  15 +-
 drivers/nvme/host/ioctl.c                          |   2 +-
 drivers/nvme/host/multipath.c                      | 153 ++++++++++++++++++---
 drivers/nvme/host/nvme.h                           |   4 +
 drivers/nvme/host/pci.c                            |   2 +-
 drivers/nvme/host/rdma.c                           |   1 +
 drivers/nvme/host/sysfs.c                          |  23 ++--
 drivers/nvme/host/tcp.c                            | 139 +++++++++++++------
 drivers/nvme/target/admin-cmd.c                    |   4 +-
 drivers/nvme/target/auth.c                         |   1 +
 drivers/nvme/target/configfs.c                     | 119 ++++++++++++++--
 drivers/nvme/target/core.c                         |  19 ++-
 drivers/nvme/target/fabrics-cmd-auth.c             |  38 ++++-
 drivers/nvme/target/fabrics-cmd.c                  |   4 +
 drivers/nvme/target/fc.c                           |  15 +-
 drivers/nvme/target/io-cmd-file.c                  |   4 +-
 drivers/nvme/target/nvmet.h                        |  70 +++++++++-
 drivers/nvme/target/passthru.c                     | 103 +++++++++++---
 drivers/nvme/target/pr.c                           |   4 +-
 drivers/nvme/target/zns.c                          |  10 ++
 24 files changed, 696 insertions(+), 141 deletions(-)



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] nvme updates for Linux 7.4
  2026-10-15 20:51 Keith Busch
@ 2026-10-15 22:35 ` Jens Axboe
  0 siblings, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2026-10-15 22:35 UTC (permalink / raw)
  To: Keith Busch; +Cc: linux-nvme, hch, sagi

On 10/15/26 2:51 PM, Keith Busch wrote:
> The following changes since commit 85bffad4d2fea373a72d68bed8012e8cbccb8ee7:
> 
>   block: simplify disk_zone_set_cond() (2026-09-15 06:53:06 -0600)
> 
> are available in the Git repository at:
> 
>   git://git.infradead.org/nvme.git tags/nvme-7.4-2026-10-15
> 
> for you to fetch changes up to 2e8e30b3cf9f165e1a1d079331543cb7f2ad0e0c:
> 
>   Revert "nvme-pci: clamp max_hw_sectors based on DMA optimized limitation" (2026-10-15 07:20:49 -0700)
> 
> ----------------------------------------------------------------
> nvme updates for Linux 7.4
> 
>  - Parallelize nvme-tcp I/O queue setup and use the caller's network
>    namespace
>  - New multipath sysfs attributes for path state, available
>    iopolicies, and fail on controller loss
>  - Multipath fixes for failfast/ANA path evaluation and discovery
>    subsystem iopolicy reporting
>  - Apple M4 ANS2 NVMe support
>  - Traffic based keep alive support for the target
>  - DH-HMAC-CHAP hardening for host and target: enforce bidirectional
>    auth, require auth before property set, fix state UAF, reject short
>    payloads, restrict secret visibility
>  - Target reservation preempt fixes
>  - Target passthru I/O use-after-free fix
>  - Fix out-of-bounds reads and memory leaks from device and host
>    supplied data: FDP config log, ZNS zone reports, file namespace
>    range errors
>  - Enforce partition checks for unprivileged passthrough
>  - nvme-rdma fix for bogus remote invalidation
>  - nvmet-fc fix for recursive locking hang on port unlink
>  - Revert DMA opt max_hw_sectors clamp due to performance regressions
>  - Misc cleanups

Pulled, thanks.

-- 
Jens Axboe



^ permalink raw reply	[flat|nested] 5+ messages in thread

* [GIT PULL] nvme updates for Linux 7.4
@ 2026-10-29 14:34 Keith Busch
  2026-10-29 14:56 ` Keith Busch
  2026-10-29 15:33 ` Jens Axboe
  0 siblings, 2 replies; 5+ messages in thread
From: Keith Busch @ 2026-10-29 14:34 UTC (permalink / raw)
  To: axboe; +Cc: linux-nvme, hch, sagi

The following changes since commit 40d070cbb1906896d6fd65c39722d2411830ed9f:

  block: restore the iterator when rejecting a misaligned bio (2026-10-20 11:11:45 -0600)

are available in the Git repository at:

  git://git.infradead.org/nvme.git tags/nvme-7.4-2026-10-28

for you to fetch changes up to 89480d137bf0d943a82c64f86ae2407a15276b5e:

  nvmet: don't clear sq->ctrl for a Connect with sqsize 0 (2026-10-28 11:41:43 -0700)

----------------------------------------------------------------
nvme updates for Linux 7.4

 - Fix regressions from the parallel nvme-tcp I/O queue setup: request
   PDU sizing with header digest, a NULL controller dereference when
   reconnecting with more queues, and early lock initialization
 - Handle TLS control records in nvme-tcp: skip records arriving ahead
   of the ICResp, and start error recovery when the socket read fails
 - Fix an nvme-tcp io_work priority inversion stalling I/O
 - Fix nvme-tcp address attribute race with queue teardown
 - Validate the TLS handshake timeout parameters for host and target
 - Fix fabrics connects with isolated CPUs and queue mapping bugs
 - Fix early boot hang and buffer size for the nvme.quirks parameter
 - Fix nvme-rdma NULL metadata SGL dereference with T10-PI
 - Fix ANA underflow check and an nvme-fc discovery reference leak
 - Fix nvme-loop BUG() when a namespace scan races a reset
 - Target port and configfs locking fixes, and port removal races
 - Target auth fixes for CHALLENGE failure and negotiation handling
 - Target fc fixes for a connection use-after-free, read data on failed
   commands, and admin queue allocation failure teardown
 - Target rdma fix for short connection requests
 - Target rdma fix for inline SGL out-of-bounds write
 - Target rdma refcount, locking, and module unload fixes
 - Target pci-epf SGL length and error status fixes
 - Target NULL dereference fixes for pci-epf and debugfs
 - Target ZNS NUMD overflow check
 - Target Connect fix for a controller leak with a zero queue size
 - Target fixes for a metadata SGL double-free and a leaked blk plug
 - Target fix for truncated large discards
 - Misc cleanups

----------------------------------------------------------------
Andrea Parri (4):
      nvmet-fc: only send read data for successful commands
      nvmet: zns: reject a NUMD whose byte count wraps
      nvmet: pci-epf: report transport errors in command completions
      nvmet: pci-epf: require SGLs to match the command data length

Andrew Stellman (1):
      nvmet-rdma: fix out-of-bounds write in nvmet_rdma_map_sgl_inline()

Avi Weiss (1):
      nvmet: prevent double-free after metadata SGL allocation failure

Chris Mason (4):
      nvmet-rdma: flush nvmet-wq on module exit
      nvmet-rdma: disable interrupts under rsp_wr_wait_lock
      nvmet-rdma: fix double puts after a failed RDMA WRITE
      nvmet: don't clear sq->ctrl for a Connect with sqsize 0

Christian Aurich Zanettini Martins (3):
      nvme-rdma: fix NULL metadata_sgl dereference with T10-PI
      nvme-tcp: fix request PDU size when header digest is enabled
      nvme-tcp: fix NULL queue->ctrl dereference on reconnect

Daniel Wagner (4):
      nvme-tcp: initialize pf_cache_lock when allocating the controller
      nvme-fabrics: reset io_queues before computing the queue mapping
      nvme-fabrics: limit each queue type to the number of online CPUs
      nvme-fabrics: clear the poll map if no poll queues are mapped

Guixin Liu (4):
      nvmet-fc: Tear down the association when the admin queue allocation fails
      nvme-tcp: Validate the queue state under the queue lock in the address attribute
      nvmet: Finish the blk plug when integrity allocation fails
      nvmet: Free the old negotiation state when restarting authentication

Josef Bacik (7):
      nvmet: don't truncate the length of big discards
      nvmet-auth: take only AUTH_Negotiate for a negotiation
      nvmet: fix NULL dereference of PCI endpoint targets
      nvmet-tcp: stop listening when a port is removed
      nvmet: fix NULL dereference in debugfs host_traddr
      nvmet-tcp: don't read a removed port at Connect time
      nvme-loop: don't BUG() if a scan runs beside a reset

Martin Belanger (2):
      nvme-tcp: start error recovery when read_sock fails
      nvme-tcp: skip TLS control records while waiting for the ICResp

Martin George (3):
      nvme-auth: update error log in nvme_auth_submit()
      nvme-multipath: avoid size_t underflow in ANA log bounds checks
      nvme-fc: fix reference leak in nvme_fc_nvme_discovery_store()

Maurizio Lombardi (2):
      nvme-pci: fix early boot hang with nvme.quirks parameter
      nvme-pci: increase quirks_param buffer size to 256 bytes

Qing Zhang (1):
      nvmet: protect nvmet_ports_list with nvmet_config_sem

Rongzheng Wang (1):
      nvmet: use the enabled transport when disabling a port

Seiji Nishikawa (1):
      nvme-tcp: fix io_work priority inversion when send_mutex is held

Shao Mingyin (1):
      nvmet-auth: fix error handling on CHALLENGE failure

Weiming Shi (1):
      nvmet-rdma: reject short connection requests

Yehyeong Lee (1):
      nvmet-fc: fix use-after-free in nvmet_fc_ls_create_connection()

Yingjie Wang (2):
      nvmet-tcp: validate the TLS handshake timeout
      nvme-tcp: validate the TLS handshake timeout

Yu Zhang (1):
      nvmet: take subsys->lock while force-reconnecting in nvmet_subsys_attr_qid_max_store()

 Documentation/admin-guide/kernel-parameters.txt |  10 +
 drivers/nvme/host/auth.c                        |   6 +-
 drivers/nvme/host/fabrics.c                     |  30 ++-
 drivers/nvme/host/fc.c                          |   7 +-
 drivers/nvme/host/multipath.c                   |   4 +-
 drivers/nvme/host/pci.c                         |   4 +-
 drivers/nvme/host/rdma.c                        |   2 +-
 drivers/nvme/host/tcp.c                         | 309 +++++++++++++++++++-----
 drivers/nvme/target/auth.c                      |   1 +
 drivers/nvme/target/configfs.c                  |  26 +-
 drivers/nvme/target/core.c                      |  16 +-
 drivers/nvme/target/fabrics-cmd-auth.c          |  11 +-
 drivers/nvme/target/fabrics-cmd.c               |   3 +-
 drivers/nvme/target/fc.c                        |  18 +-
 drivers/nvme/target/io-cmd-bdev.c               |   8 +-
 drivers/nvme/target/loop.c                      |   2 -
 drivers/nvme/target/nvmet.h                     |   3 +-
 drivers/nvme/target/pci-epf.c                   |  30 ++-
 drivers/nvme/target/rdma.c                      |  31 ++-
 drivers/nvme/target/tcp.c                       |  33 ++-
 drivers/nvme/target/zns.c                       |  12 +-
 21 files changed, 436 insertions(+), 130 deletions(-)



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] nvme updates for Linux 7.4
  2026-10-29 14:34 [GIT PULL] nvme updates for Linux 7.4 Keith Busch
@ 2026-10-29 14:56 ` Keith Busch
  2026-10-29 15:33 ` Jens Axboe
  1 sibling, 0 replies; 5+ messages in thread
From: Keith Busch @ 2026-10-29 14:56 UTC (permalink / raw)
  To: axboe; +Cc: linux-nvme, hch, sagi

On Thu, Oct 29, 2026 at 08:34:29AM -0600, Keith Busch wrote:
> The following changes since commit 40d070cbb1906896d6fd65c39722d2411830ed9f:
> 
>   block: restore the iterator when rejecting a misaligned bio (2026-10-20 11:11:45 -0600)
> 
> are available in the Git repository at:
> 
>   git://git.infradead.org/nvme.git tags/nvme-7.4-2026-10-28
> 
> for you to fetch changes up to 89480d137bf0d943a82c64f86ae2407a15276b5e:
> 
>   nvmet: don't clear sq->ctrl for a Connect with sqsize 0 (2026-10-28 11:41:43 -0700)

Oh, just fyi, there were some late fixes in nvme-7.3 that are causing a
conflict. Here is my remerge-diff resolution:

---
diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
remerge CONFLICT (content): Merge conflict in drivers/nvme/host/multipath.c
index 97e5c41e5e2a4..9e0a0fd77c56e 100644
--- a/drivers/nvme/host/multipath.c
+++ b/drivers/nvme/host/multipath.c
@@ -874,12 +874,8 @@ static int nvme_parse_ana_log(struct nvme_ctrl *ctrl, void *data,
 		u32 nr_nsids;
 		size_t nsid_buf_size;
 
-<<<<<<< aa977f5d96745 (block: fix kernel-doc warnings in blk-map.c and blk-mq-dma.c)
 		if (WARN_ON_ONCE(offset > ctrl->ana_log_size ||
 				 sizeof(*desc) > ctrl->ana_log_size - offset))
-=======
-		if (WARN_ON_ONCE(ctrl->ana_log_size - offset < sizeof(*desc)))
->>>>>>> 89480d137bf0d (nvmet: don't clear sq->ctrl for a Connect with sqsize 0)
 			return -EINVAL;
 
 		nr_nsids = le32_to_cpu(desc->nnsids);
@@ -895,11 +891,7 @@ static int nvme_parse_ana_log(struct nvme_ctrl *ctrl, void *data,
 			return -EINVAL;
 
 		offset += sizeof(*desc);
-<<<<<<< aa977f5d96745 (block: fix kernel-doc warnings in blk-map.c and blk-mq-dma.c)
 		if (WARN_ON_ONCE(nsid_buf_size > ctrl->ana_log_size - offset))
-=======
-		if (WARN_ON_ONCE(ctrl->ana_log_size - offset < nsid_buf_size))
->>>>>>> 89480d137bf0d (nvmet: don't clear sq->ctrl for a Connect with sqsize 0)
 			return -EINVAL;
 
 		error = cb(ctrl, desc, data);
diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c
remerge CONFLICT (content): Merge conflict in drivers/nvme/host/tcp.c
index 4874d6c5b32e5..bc46e5f3eaa79 100644
--- a/drivers/nvme/host/tcp.c
+++ b/drivers/nvme/host/tcp.c
@@ -1582,17 +1582,6 @@ static void nvme_tcp_free_queue(struct nvme_ctrl *nctrl, int qid)
 	memalloc_noio_restore(noio_flag);
 
 	kfree(queue->pdu);
-<<<<<<< aa977f5d96745 (block: fix kernel-doc warnings in blk-map.c and blk-mq-dma.c)
-	mutex_destroy(&queue->send_mutex);
-	mutex_destroy(&queue->queue_lock);
-	mutex_destroy(&queue->pf_cache_lock);
-=======
-
-#ifdef CONFIG_DEBUG_LOCK_ALLOC
-	lockdep_unregister_key(&queue->nvme_tcp_sk_key);
-	lockdep_unregister_key(&queue->nvme_tcp_slock_key);
-#endif
->>>>>>> 89480d137bf0d (nvmet: don't clear sq->ctrl for a Connect with sqsize 0)
 }
 
 static int nvme_tcp_recv_tls_alert(struct nvme_tcp_queue *queue,
@@ -2173,17 +2162,6 @@ static int nvme_tcp_alloc_queue(struct nvme_ctrl *nctrl, int qid,
 	/* Use sync variant - see nvme_tcp_free_queue() for explanation */
 	__fput_sync(queue->sock->file);
 	queue->sock = NULL;
-<<<<<<< aa977f5d96745 (block: fix kernel-doc warnings in blk-map.c and blk-mq-dma.c)
-err_destroy_mutex:
-	mutex_destroy(&queue->send_mutex);
-	mutex_destroy(&queue->queue_lock);
-	mutex_destroy(&queue->pf_cache_lock);
-=======
-#ifdef CONFIG_DEBUG_LOCK_ALLOC
-	lockdep_unregister_key(&queue->nvme_tcp_sk_key);
-	lockdep_unregister_key(&queue->nvme_tcp_slock_key);
-#endif
->>>>>>> 89480d137bf0d (nvmet: don't clear sq->ctrl for a Connect with sqsize 0)
 	return ret;
 }
 
--


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [GIT PULL] nvme updates for Linux 7.4
  2026-10-29 14:34 [GIT PULL] nvme updates for Linux 7.4 Keith Busch
  2026-10-29 14:56 ` Keith Busch
@ 2026-10-29 15:33 ` Jens Axboe
  1 sibling, 0 replies; 5+ messages in thread
From: Jens Axboe @ 2026-10-29 15:33 UTC (permalink / raw)
  To: Keith Busch; +Cc: linux-nvme, hch, sagi

On 10/29/26 8:34 AM, Keith Busch wrote:
> ----------------------------------------------------------------
> nvme updates for Linux 7.4
> 
>  - Fix regressions from the parallel nvme-tcp I/O queue setup: request
>    PDU sizing with header digest, a NULL controller dereference when
>    reconnecting with more queues, and early lock initialization
>  - Handle TLS control records in nvme-tcp: skip records arriving ahead
>    of the ICResp, and start error recovery when the socket read fails
>  - Fix an nvme-tcp io_work priority inversion stalling I/O
>  - Fix nvme-tcp address attribute race with queue teardown
>  - Validate the TLS handshake timeout parameters for host and target
>  - Fix fabrics connects with isolated CPUs and queue mapping bugs
>  - Fix early boot hang and buffer size for the nvme.quirks parameter
>  - Fix nvme-rdma NULL metadata SGL dereference with T10-PI
>  - Fix ANA underflow check and an nvme-fc discovery reference leak
>  - Fix nvme-loop BUG() when a namespace scan races a reset
>  - Target port and configfs locking fixes, and port removal races
>  - Target auth fixes for CHALLENGE failure and negotiation handling
>  - Target fc fixes for a connection use-after-free, read data on failed
>    commands, and admin queue allocation failure teardown
>  - Target rdma fix for short connection requests
>  - Target rdma fix for inline SGL out-of-bounds write
>  - Target rdma refcount, locking, and module unload fixes
>  - Target pci-epf SGL length and error status fixes
>  - Target NULL dereference fixes for pci-epf and debugfs
>  - Target ZNS NUMD overflow check
>  - Target Connect fix for a controller leak with a zero queue size
>  - Target fixes for a metadata SGL double-free and a leaked blk plug
>  - Target fix for truncated large discards
>  - Misc cleanups

Pulled, thanks.

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-10-29 15:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-29 14:34 [GIT PULL] nvme updates for Linux 7.4 Keith Busch
2026-10-29 14:56 ` Keith Busch
2026-10-29 15:33 ` Jens Axboe
  -- strict thread matches above, loose matches on Subject: below --
2026-10-15 20:51 Keith Busch
2026-10-15 22:35 ` Jens Axboe

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox