Problem with SPCC 256GB NVMe 1.3 drive - refcount_t: underflow; use-after-free.

Bradley Chapman chapman6235 at comcast.net
Mon Jan 25 21:03:27 EST 2021


Good evening!

On 1/25/21 3:34 AM, Chaitanya Kulkarni wrote:
> I have pointed that out on friday already offline to reduce the mailing list noise.
> 
>> On Jan 25, 2021, at 12:16 AM, Niklas Cassel <Niklas.Cassel at wdc.com> wrote:
>>
>> On Fri, Jan 22, 2021 at 07:54:26PM -0500, Bradley Chapman wrote:
>>> With the following patch applied to the NVMe tree, my system hard-locked and
>>> would not respond to Alt+SysRQ once I mounted the filesystem and attempted a
>>> directory listing of the root of the filesystem.
>>>
>>> diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c
>>> index 25456d02eddb..7ba5e8e92e19 100644
>>> --- a/drivers/nvme/host/pci.c
>>> +++ b/drivers/nvme/host/pci.c
>>> @@ -3228,6 +3228,8 @@ static const struct pci_device_id nvme_id_table[] = {
>>>                 .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
>>>         { PCI_DEVICE(0x15b7, 0x2001),   /*  Sandisk Skyhawk */
>>>                 .driver_data = NVME_QUIRK_DISABLE_WRITE_ZEROES, },
>>> +       { PCI_DEVICE(0x1d97, 0x2263),   /*  SPCC */
>>> +               .driver_data = NVME_QUIRK_SINGLE_VECTOR },
>>>         { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2001),
>>>                 .driver_data = NVME_QUIRK_SINGLE_VECTOR },
>>>         { PCI_DEVICE(PCI_VENDOR_ID_APPLE, 0x2003) },
>>>
>>
>> Hello Bradley,
>>
>> Chaitanya asked you to test the NVME_QUIRK_DISABLE_WRITE_ZEROES quirk.
>> Your patch seems to instead use the NVME_QUIRK_SINGLE_VECTOR quirk.
>>
>> Did you try the NVME_QUIRK_DISABLE_WRITE_ZEROES quirk?
>>
>>
>> Kind regards,
>> Niklas

As Chaitanya pointed out, I did in fact re-test with the correct patch 
and everything worked flawlessly. I have sent the corrected patches to 
Chaitanya directly.

Brad



More information about the Linux-nvme mailing list