Re: [PATCH v3 12/20] RDMA/rw: use dma_map_sgtable()

From: Logan Gunthorpe
Date: Wed Sep 29 2021 - 18:56:45 EST





On 2021-09-28 1:43 p.m., Jason Gunthorpe wrote:
> On Thu, Sep 16, 2021 at 05:40:52PM -0600, Logan Gunthorpe wrote:
>> dma_map_sg() now supports the use of P2PDMA pages so pci_p2pdma_map_sg()
>> is no longer necessary and may be dropped.
>>
>> Switch to the dma_map_sgtable() interface which will allow for better
>> error reporting if the P2PDMA pages are unsupported.
>>
>> The change to sgtable also appears to fix a couple subtle error path
>> bugs:
>>
>> - In rdma_rw_ctx_init(), dma_unmap would be called with an sg
>> that could have been incremented from the original call, as
>> well as an nents that was not the original number of nents
>> called when mapped.
>> - Similarly in rdma_rw_ctx_signature_init, both sg and prot_sg
>> were unmapped with the incorrect number of nents.
>
> Those bugs should definately get fixed.. I might extract the sgtable
> conversion into a stand alone patch to do it.

Yes. I can try to split it off myself and send a patch later this week.

Logan