On Sun, 30 Apr 2023 21:24:52 -0700, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > +static dma_addr_t vring_sg_address(struct scatterlist *sg) > > +{ > > + if (sg->dma_address) > > + return sg->dma_address; > > 0 is a perfectly valid DMA address. So I have no idea how this is > even supposed to work. Yes. I think I can change it here to judge based on sg_page(sg). If there is no page, I assume this sg already has DMA Address. Thanks