[PATCH v7 06/13] nvme-pci: implement dma-buf backed requests
Pavel Begunkov
asml.silence at gmail.com
Wed Sep 30 03:09:41 PDT 2026
On 9/29/26 16:45, Christophe JAILLET wrote:
...>> + for_each_sgtable_dma_sg(sgt, sg, tmp) {
>> + dma_addr_t dma_addr = sg_dma_address(sg);
>> + unsigned long sg_len = sg_dma_len(sg);
>> +
>> + if ((sg_len % NVME_CTRL_PAGE_SIZE) ||
>> + (dma_addr % NVME_CTRL_PAGE_SIZE)) {
>> + ret = -EINVAL;
>> + goto err;
>> + }
>> + while (sg_len) {
>> + map->dma_list[i++] = dma_addr;
>> + dma_addr += NVME_CTRL_PAGE_SIZE;
>> + sg_len -= NVME_CTRL_PAGE_SIZE;
>> + }
>> + }
>> +
>> + ret = dma_buf_io_init_map(ctx, &map->base, sgt);
>> + if (ret)
>> + goto err;
>> + map->nr_entries = nr_entries;
>> + map->sgt = sgt;
>> + return &map->base;
>> +err:
>> + if (sgt)
>> + dma_buf_unmap_attachment(attach, sgt, ctx->dir);
>> + kfree(map);
>
> kvfree()?
Sashiko also flagged this one. I'm going to apply the nits from
both emails, thanks.
--
Pavel Begunkov
More information about the Linux-nvme
mailing list