]> www.infradead.org Git - nvme.git/commitdiff
nvme-pci: use correct size to free the hmb buffer nvme-6.14-2025-01-12
authorFrancis Pravin <francis.p@samsung.com>
Thu, 9 Jan 2025 23:51:37 +0000 (05:21 +0530)
committerKeith Busch <kbusch@kernel.org>
Sun, 12 Jan 2025 22:11:29 +0000 (14:11 -0800)
dev->host_mem_size value is updated only after the successful buffer
allocation of hmb descriptor. Otherwise, it may have some undefined value.
So, use the correct size to free the hmb buffer when the hmb descriptor
buffer allocation failed.

Signed-off-by: Francis Pravin <francis.p@samsung.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/pci.c

index c3bfbe11ee57b8e73aba3c063da7a727c9e388cc..fe0795e16e250a2bd5d9ef51c0044b34f9ee70b1 100644 (file)
@@ -2085,8 +2085,8 @@ static int nvme_alloc_host_mem_single(struct nvme_dev *dev, u64 size)
                        sizeof(*dev->host_mem_descs), &dev->host_mem_descs_dma,
                        GFP_KERNEL);
        if (!dev->host_mem_descs) {
-               dma_free_noncontiguous(dev->dev, dev->host_mem_size,
-                               dev->hmb_sgt, DMA_BIDIRECTIONAL);
+               dma_free_noncontiguous(dev->dev, size, dev->hmb_sgt,
+                               DMA_BIDIRECTIONAL);
                dev->hmb_sgt = NULL;
                return -ENOMEM;
        }