mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 14:42:08 +02:00
fastrpc: Assert held reservation lock for dma-buf mmapping
When userspace mmaps dma-buf's fd, the dma-buf reservation lock must be held. Add locking sanity check to the dma-buf mmaping callback to ensure that the locking assumption won't regress in the future. Suggested-by: Daniel Vetter <daniel@ffwll.ch> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Acked-by: Christian König <christian.koenig@amd.com> Link: https://patchwork.freedesktop.org/patch/msgid/20221110201349.351294-7-dmitry.osipenko@collabora.com
This commit is contained in:
parent
3a6ca1810f
commit
265751a513
|
|
@ -6,6 +6,7 @@
|
|||
#include <linux/device.h>
|
||||
#include <linux/dma-buf.h>
|
||||
#include <linux/dma-mapping.h>
|
||||
#include <linux/dma-resv.h>
|
||||
#include <linux/idr.h>
|
||||
#include <linux/list.h>
|
||||
#include <linux/miscdevice.h>
|
||||
|
|
@ -682,6 +683,8 @@ static int fastrpc_mmap(struct dma_buf *dmabuf,
|
|||
struct fastrpc_buf *buf = dmabuf->priv;
|
||||
size_t size = vma->vm_end - vma->vm_start;
|
||||
|
||||
dma_resv_assert_held(dmabuf->resv);
|
||||
|
||||
return dma_mmap_coherent(buf->dev, vma, buf->virt,
|
||||
FASTRPC_PHYS(buf->phys), size);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user