[PATCH v8 1/5] RDMA/umem: Support importing dma-buf as user memory region
Daniel Vetter
daniel at ffwll.ch
Tue Nov 10 14:14:45 UTC 2020
On Fri, Nov 06, 2020 at 12:39:53PM -0400, Jason Gunthorpe wrote:
> On Fri, Nov 06, 2020 at 04:34:07PM +0000, Xiong, Jianxin wrote:
>
> > > The user could specify a length that is beyond the dma buf, can
> > > the dma buf length be checked during get?
> >
> > In order to check the length, the buffer needs to be mapped. That can be done.
>
> Do DMA bufs even have definitate immutable lengths? Going to be a
> probelm if they can shrink
Yup. Unfortunately that's not document in the structures themselves,
there's just some random comments sprinkled all over that dma-buf size is
invariant, e.g. see the @mmap kerneldoc in dma_buf_ops:
https://dri.freedesktop.org/docs/drm/driver-api/dma-buf.html?highlight=dma_buf_ops#c.dma_buf_ops
"Because dma-buf buffers have invariant size over their lifetime, ..."
Jianxin, can you pls do a kerneldoc patch which updates the comment for
dma_buf.size and dma_buf_export_info.size?
Thanks, Daniel
>
> > > Also page_size can be 0 because iova is not OK. iova should be
> > > checked for alignment during get as well:
> > >
> > > iova & (PAGE_SIZE-1) == umem->addr & (PAGE_SIZE-1)
> >
> > If ib_umem_dmabuf_map_pages is called during get this error is automatically caught.
>
> The ib_umem_find_best_pgsz() checks this equation, yes.
>
> So you'd map the sgl before allocating the mkey? This then checks the
> length and iova?
>
> Jason
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the dri-devel
mailing list