mirror of
git://nv-tegra.nvidia.com/linux-nvgpu.git
synced 2025-12-22 17:36:20 +03:00
gpu: nvgpu: validate map request with nvmap dmabuf file mode
fail RW map request with RO nvmap dmabuf. Bug 200630384 Change-Id: Ic18d348d30a638cd6cb098e9228f470809dbea42 Signed-off-by: Sagar Kamble <skamble@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2376131 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Lakshmanan M <lm@nvidia.com> Reviewed-by: Vijayakumar Subbu <vsubbu@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
This commit is contained in:
committed by
Alex Waterman
parent
7c1c533a4a
commit
a8b06778bb
@@ -205,6 +205,15 @@ int nvgpu_vm_map_linux(struct vm_gk20a *vm,
|
|||||||
struct dma_buf_attachment *attachment;
|
struct dma_buf_attachment *attachment;
|
||||||
int err = 0;
|
int err = 0;
|
||||||
|
|
||||||
|
nvgpu_log(g, gpu_dbg_map, "dmabuf file mode: 0x%x mapping flags: 0x%x",
|
||||||
|
dmabuf->file->f_mode, flags);
|
||||||
|
|
||||||
|
if (!(dmabuf->file->f_mode & (FMODE_WRITE | FMODE_PWRITE)) &&
|
||||||
|
!(flags & NVGPU_VM_MAP_ACCESS_NO_WRITE)) {
|
||||||
|
nvgpu_err(g, "RW access requested for RO mapped buffer");
|
||||||
|
return -EINVAL;
|
||||||
|
}
|
||||||
|
|
||||||
sgt = nvgpu_mm_pin(dev, dmabuf, &attachment);
|
sgt = nvgpu_mm_pin(dev, dmabuf, &attachment);
|
||||||
if (IS_ERR(sgt)) {
|
if (IS_ERR(sgt)) {
|
||||||
nvgpu_warn(g, "Failed to pin dma_buf!");
|
nvgpu_warn(g, "Failed to pin dma_buf!");
|
||||||
|
|||||||
Reference in New Issue
Block a user