lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220619132039.GA1243474@bhelgaas>
Date:   Sun, 19 Jun 2022 08:20:39 -0500
From:   Bjorn Helgaas <helgaas@...nel.org>
To:     Keith Busch <kbusch@...nel.org>, Jens Axboe <axboe@...com>,
        Christoph Hellwig <hch@....de>,
        Sagi Grimberg <sagi@...mberg.me>
Cc:     Leo Savernik <l.savernik@....at>, linux-nvme@...ts.infradead.org,
        linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [bugzilla-daemon@...nel.org: [Bug 216147] New: NVMe quirk needed for
 multiple Micron MTFDKBA2T0TFH SSDs]

Thanks very much for the testing and report, Leo!  I'm forwarding it
to the NVMe folks who would take care of this.  I checked current
upstream (v5.19-rc1), and indeed this quirk does not appear there.

----- Forwarded message from bugzilla-daemon@...nel.org -----

Date: Sun, 19 Jun 2022 08:58:10 +0000
From: bugzilla-daemon@...nel.org
To: bjorn@...gaas.com
Subject: [Bug 216147] New: NVMe quirk needed for multiple Micron MTFDKBA2T0TFH SSDs
Message-ID: <bug-216147-41252@...ps.bugzilla.kernel.org/>

https://bugzilla.kernel.org/show_bug.cgi?id=216147

            Bug ID: 216147
           Summary: NVMe quirk needed for multiple Micron MTFDKBA2T0TFH
                    SSDs
           Product: Drivers
           Version: 2.5
    Kernel Version: 5.15.48
          Hardware: AMD
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: PCI
          Assignee: drivers_pci@...nel-bugs.osdl.org
          Reporter: l.savernik@....at
        Regression: No

Created attachment 301221
  --> https://bugzilla.kernel.org/attachment.cgi?id=301221&action=edit
Adding NVME_QUIRK_IGNORE_DEV_SUBNQN for Micron MTFDKBA2T0TFH

Even though first noticed on an Ubuntu kernel, I dare to report this against
upstream as this hardware combination malfunction seems not to be known yet (I
did not find distribution-specific patches for this issue). Therefore, IMHO,
the fix should be included upstream to make these devices work on every kernel
deployment.

My brand new Lenovo Notebook contains three NVMe 2T disks. When booting with
Kernel 5.15.0, I receive the following dmesg output:

...
Jun 09 03:33:08 kubuntu kernel: nvme 0000:04:00.0: platform quirk: setting
simple suspend
Jun 09 03:33:08 kubuntu kernel: nvme nvme0: pci function 0000:04:00.0
Jun 09 03:33:08 kubuntu kernel: nvme 0000:06:00.0: platform quirk: setting
simple suspend
Jun 09 03:33:08 kubuntu kernel: nvme nvme1: pci function 0000:06:00.0
Jun 09 03:33:08 kubuntu kernel: nvme 0000:05:00.0: platform quirk: setting
simple suspend
Jun 09 03:33:08 kubuntu kernel: nvme nvme2: pci function 0000:05:00.0
...
Jun 09 03:33:08 kubuntu kernel: nvme nvme1: Duplicate cntlid 0 with nvme0,
rejecting
Jun 09 03:33:08 kubuntu kernel: nvme nvme1: Removing after probe failure
status: -22
Jun 09 03:33:08 kubuntu kernel: nvme nvme2: Duplicate cntlid 0 with nvme0,
rejecting
Jun 09 03:33:08 kubuntu kernel: nvme nvme2: Removing after probe failure
status: -22
Jun 09 03:33:08 kubuntu kernel: pps pps0: new PPS source ptp0
Jun 09 03:33:08 kubuntu kernel: igc 0000:0b:00.0 (unnamed net_device)
(uninitialized): PHC added
Jun 09 03:33:08 kubuntu kernel: nvme nvme0: 16/0/0 default/read/poll queues
Jun 09 03:33:08 kubuntu kernel:  nvme0n1: p1 p2 p3
...

nvme0 is properly detected, however nvme1 and nvme2 are both rejected with
"Duplicate cntlid 0 with nvme0" error message.

lspci properly enumerates all of the 3 devices:
04:00.0 Non-Volatile memory controller: Micron Technology Inc Device 5407
05:00.0 Non-Volatile memory controller: Micron Technology Inc Device 5407
06:00.0 Non-Volatile memory controller: Micron Technology Inc Device 5407

Consequentially, I cannot make use of nvme1 and nvme2. A quirk setting was
proposed for a Samsung device [1] which was finally applied to the kernel [2].

[1] https://lkml.kernel.org/lkml/20210118113356.833556252@linuxfoundation.org/
[2] https://lkml.org/lkml/2021/1/18/1172

I wrote up a modified patch for Micron MTFDKBA2T0TFH devices, tested the patch
and could make all three NVMe devices work flawlessly under Linux 5.15.0.

I also checked this patch against 5.15.48, it applies cleanly.

I suggest this patch be applied to latest longterm 5.15.x as well as latest
Mainline as only one device has been added to the quirk table since, and the
format of the quirktable was not changed in the meantime.

The proposed patch itself (also see attachment):

diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
index b925a5f4afc3..2e5c33f3b868 100644
--- a/drivers/nvme/host/pci.c
+++ b/drivers/nvme/host/pci.c
@@ -3372,5 +3372,7 @@ static const struct pci_device_id nvme_id_table[] = {
NVME_QUIRK_128_BYTES_SQES |
                                NVME_QUIRK_NO_DEEPEST_PS |
                                NVME_QUIRK_IGNORE_DEV_SUBNQN, },
+       { PCI_DEVICE(0x1344, 0x5407), /* Micron Technology Inc NVMe SSD */
+               .driver_data = NVME_QUIRK_IGNORE_DEV_SUBNQN },
        { PCI_DEVICE_CLASS(PCI_CLASS_STORAGE_EXPRESS, 0xffffff) },
        { 0, }
 };

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

----- End forwarded message -----

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ