mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH] nvme-pci: add NVME_QUIRK_DMAPOOL_ALIGN_512 for Micron 4100AT
@ 2026-09-04 10:51 Bean Huo
  2026-09-11  8:59 ` Bean Huo
  2026-09-11 15:03 ` Keith Busch
  0 siblings, 2 replies; 4+ messages in thread
From: Bean Huo @ 2026-09-04 10:51 UTC (permalink / raw)
  To: linux-nvme, kbusch, hch
  Cc: axboe, sagi, linux-kernel, stable, bob.beckett, Bean Huo, Gaurav Sinha

From: Bean Huo <beanhuo@micron.com>

The Micron 4100AT fetches PRP Lists in 512 byte strides, but the driver
allocates small PRP List descriptors in 256 byte strides.  A descriptor
in the last 256 bytes of a dmapool page makes the controller read past
the page: the access lands on an adjacent IOVA, the IOMMU faults the
command. That last block only became reachable with commit da9619a30e73
("dmapool: link blocks across pages"), so this affects v6.4 and later.

Align the small descriptor pool to 512 bytes, as commit ebefac564796
("nvme-pci: 512 byte aligned dma pool segment quirk") already does for
another controller with the same erratum.  The last block then starts
at offset 0xE00 and the fetch stays inside the page.

Cc: <stable@vger.kernel.org> # 6.4.x: ebefac564796: nvme-pci: 512 byte aligned dma pool segment quirk
Cc: <stable@vger.kernel.org> # 6.4.x
Signed-off-by: Gaurav Sinha <gsinha@micron.com>
Signed-off-by: Bean Huo <beanhuo@micron.com>
---
Notes for reviewers (not part of the commit message):

* Why the two Cc: stable lines: this device needs the quirk from v6.4
  on, but the quirk itself only exists from v6.13.  Older trees, such
  as the 6.12 LTS where we found this, need ebefac564796 first.  The
  first line asks stable to pick that commit before this one, and the
  second gives 6.4 as the starting version.

* Why no Fixes: tag: the only candidate is da9619a30e73, and that
  commit is not wrong.  It fixed an off-by-one that had been hiding this
  device erratum.  Blaming it did not seem fair, so we left the tag out.
  Happy to add one if the maintainers prefer.

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index db5fc9bf6627..d6dec3ba41f4 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -4141,6 +4141,8 @@ static const struct pci_device_id nvme_id_table[] = {
 		.driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN },
 	 { PCI_DEVICE(0x1344, 0x6001),   /* Micron Nitro NVMe */
 		 .driver_data = NVME_QUIRK_BOGUS_NID, },
+	{ PCI_DEVICE(0x1344, 0x6004),	/* Micron 4100AT */
+		.driver_data = NVME_QUIRK_DMAPOOL_ALIGN_512, },
 	{ PCI_DEVICE(0x1c5c, 0x1504),   /* SK Hynix PC400 */
 		.driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
 	{ PCI_DEVICE(0x1c5c, 0x174a),   /* SK Hynix P31 SSD */
-- 
2.43.0

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

* Re: [PATCH] nvme-pci: add NVME_QUIRK_DMAPOOL_ALIGN_512 for Micron 4100AT
  2026-09-04 10:51 [PATCH] nvme-pci: add NVME_QUIRK_DMAPOOL_ALIGN_512 for Micron 4100AT Bean Huo
@ 2026-09-11  8:59 ` Bean Huo
  2026-09-11 15:03 ` Keith Busch
  1 sibling, 0 replies; 4+ messages in thread
From: Bean Huo @ 2026-09-11  8:59 UTC (permalink / raw)
  To: beanhuo
  Cc: axboe, beanhuo, bob.beckett, gsinha, hch, kbusch, linux-kernel,
	linux-nvme, sagi, stable

Hi,

A gentle ping on this one. It is a single id table entry for the
Micron 4100AT, reusing the existing NVME_QUIRK_DMAPOOL_ALIGN_512.

Happy to respin if you would prefer a Fixes: tag, or a different
form for the stable prerequisite lines.

Thanks,
Bean

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

* Re: [PATCH] nvme-pci: add NVME_QUIRK_DMAPOOL_ALIGN_512 for Micron 4100AT
  2026-09-04 10:51 [PATCH] nvme-pci: add NVME_QUIRK_DMAPOOL_ALIGN_512 for Micron 4100AT Bean Huo
  2026-09-11  8:59 ` Bean Huo
@ 2026-09-11 15:03 ` Keith Busch
  2026-09-11 15:05   ` Bean Huo
  1 sibling, 1 reply; 4+ messages in thread
From: Keith Busch @ 2026-09-11 15:03 UTC (permalink / raw)
  To: Bean Huo
  Cc: linux-nvme, hch, axboe, sagi, linux-kernel, stable, bob.beckett,
	Bean Huo, Gaurav Sinha

On Fri, Sep 04, 2026 at 12:51:55PM +0200, Bean Huo wrote:
> From: Bean Huo <beanhuo@micron.com>

...

> Signed-off-by: Gaurav Sinha <gsinha@micron.com>
> Signed-off-by: Bean Huo <beanhuo@micron.com>

I've applied the patch as-is, however usually the first "Signed-off-by"
is who the patch is attributed to as being "from".

Thanks, applied to nvme-7.3.

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

* Re: [PATCH] nvme-pci: add NVME_QUIRK_DMAPOOL_ALIGN_512 for Micron 4100AT
  2026-09-11 15:03 ` Keith Busch
@ 2026-09-11 15:05   ` Bean Huo
  0 siblings, 0 replies; 4+ messages in thread
From: Bean Huo @ 2026-09-11 15:05 UTC (permalink / raw)
  To: Keith Busch
  Cc: linux-nvme, hch, axboe, sagi, linux-kernel, stable, bob.beckett,
	Bean Huo, Gaurav Sinha

On Fri, 2026-09-11 at 09:03 -0600, Keith Busch wrote:
> On Fri, Sep 04, 2026 at 12:51:55PM +0200, Bean Huo wrote:
> > From: Bean Huo <beanhuo@micron.com>
> 
> ...
> 
> > Signed-off-by: Gaurav Sinha <gsinha@micron.com>
> > Signed-off-by: Bean Huo <beanhuo@micron.com>
> 
> I've applied the patch as-is, however usually the first "Signed-off-by"
> is who the patch is attributed to as being "from".
> 
> Thanks, applied to nvme-7.3.

thanks!

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

end of thread, other threads:[~2026-09-11 15:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-04 10:51 [PATCH] nvme-pci: add NVME_QUIRK_DMAPOOL_ALIGN_512 for Micron 4100AT Bean Huo
2026-09-11  8:59 ` Bean Huo
2026-09-11 15:03 ` Keith Busch
2026-09-11 15:05   ` Bean Huo

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

all inboxes | Powered by JetHome®