The correct helper for taking an f_count reference is get_file(). Use it
and check results.

Signed-off-by: Kees Cook <[email protected]>
---
Cc: Jani Nikula <[email protected]>
Cc: Joonas Lahtinen <[email protected]>
Cc: Rodrigo Vivi <[email protected]>
Cc: Tvrtko Ursulin <[email protected]>
Cc: David Airlie <[email protected]>
Cc: Daniel Vetter <[email protected]>
Cc: Andi Shyti <[email protected]>
Cc: Lucas De Marchi <[email protected]>
Cc: Matt Atwood <[email protected]>
Cc: Matthew Auld <[email protected]>
Cc: Nirmoy Das <[email protected]>
Cc: Jonathan Cavitt <[email protected]>
Cc: [email protected]
Cc: [email protected]
---
 drivers/gpu/drm/i915/gt/shmem_utils.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/gt/shmem_utils.c 
b/drivers/gpu/drm/i915/gt/shmem_utils.c
index bccc3a1200bc..dc25e6dc884b 100644
--- a/drivers/gpu/drm/i915/gt/shmem_utils.c
+++ b/drivers/gpu/drm/i915/gt/shmem_utils.c
@@ -38,8 +38,9 @@ struct file *shmem_create_from_object(struct 
drm_i915_gem_object *obj)
        void *ptr;
 
        if (i915_gem_object_is_shmem(obj)) {
-               file = obj->base.filp;
-               atomic_long_inc(&file->f_count);
+               file = get_file(obj->base.filp);
+               if (!file)
+                       return ERR_PTR(-ESRCH);
                return file;
        }
 
-- 
2.34.1

Reply via email to