Skip to content

Commit 45614d8

Browse files
committed
Merge tag 'nvme-6.19-2026-01-28' of git://git.infradead.org/nvme into block-6.19
Pull NVMe fixes from Keith: "- TCP target completion race condition fix (Ming) - DMA descriptor cleanup fix (Roger)" * tag 'nvme-6.19-2026-01-28' of git://git.infradead.org/nvme: nvme-pci: DMA unmap the correct regions in nvme_free_sgls nvmet: fix race in nvmet_bio_done() leading to NULL pointer dereference
2 parents c87f15e + a54afbc commit 45614d8

2 files changed

Lines changed: 4 additions & 3 deletions

File tree

drivers/nvme/host/pci.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -806,8 +806,8 @@ static void nvme_unmap_data(struct request *req)
806806
if (!blk_rq_dma_unmap(req, dma_dev, &iod->dma_state, iod->total_len,
807807
map)) {
808808
if (nvme_pci_cmd_use_sgl(&iod->cmd))
809-
nvme_free_sgls(req, iod->descriptors[0],
810-
&iod->cmd.common.dptr.sgl, attrs);
809+
nvme_free_sgls(req, &iod->cmd.common.dptr.sgl,
810+
iod->descriptors[0], attrs);
811811
else
812812
nvme_free_prps(req, attrs);
813813
}

drivers/nvme/target/io-cmd-bdev.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,9 +180,10 @@ u16 blk_to_nvme_status(struct nvmet_req *req, blk_status_t blk_sts)
180180
static void nvmet_bio_done(struct bio *bio)
181181
{
182182
struct nvmet_req *req = bio->bi_private;
183+
blk_status_t blk_status = bio->bi_status;
183184

184-
nvmet_req_complete(req, blk_to_nvme_status(req, bio->bi_status));
185185
nvmet_req_bio_put(req, bio);
186+
nvmet_req_complete(req, blk_to_nvme_status(req, blk_status));
186187
}
187188

188189
#ifdef CONFIG_BLK_DEV_INTEGRITY

0 commit comments

Comments
 (0)