The BOs created with DRM_PANTHOR_BO_NO_MMAP flag are not supposed to be
mmappable by the Userspace. But after the rework to support shrinker,
it became possible to mmap NO_MMAP BOs. Userspace could second guess
the file offset range, allocated unconditionally at the BO creation
time, and create a CPU mapping. There may not be any adverse effect of
such a CPU mapping though.
This commit removes the unconditional allocation of file offset range
when a user/kernel BO is created. For user BOs, allocation of file
offset range would be done from BO_MMAP_OFFSET ioctl handler which has
a check for NO_MMAP flag. For kernel BOs, there is no need to allocate
file offset range.

Fixes: 68cbf96b1e9b ("drm/panthor: Part ways with drm_gem_shmem_object")
Suggested-by: Boris Brezillon <[email protected]>
Signed-off-by: Akash Goel <[email protected]>
---
 drivers/gpu/drm/panthor/panthor_gem.c | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/drivers/gpu/drm/panthor/panthor_gem.c 
b/drivers/gpu/drm/panthor/panthor_gem.c
index c07a44057e42..5cfe66537e87 100644
--- a/drivers/gpu/drm/panthor/panthor_gem.c
+++ b/drivers/gpu/drm/panthor/panthor_gem.c
@@ -1021,10 +1021,6 @@ panthor_gem_create(struct drm_device *dev, size_t size, 
uint32_t flags,
        mapping_set_gfp_mask(bo->base.filp->f_mapping,
                             GFP_HIGHUSER | __GFP_RETRY_MAYFAIL | __GFP_NOWARN);
 
-       ret = drm_gem_create_mmap_offset(&bo->base);
-       if (ret)
-               goto err_put;
-
        if (exclusive_vm) {
                bo->exclusive_vm_root_gem = panthor_vm_root_gem(exclusive_vm);
                drm_gem_object_get(bo->exclusive_vm_root_gem);
-- 
2.25.1

Reply via email to