gpu: drm: img: fix potential NULL pointer dereference
authorMarek Szyprowski <m.szyprowski@samsung.com>
Fri, 27 Sep 2024 11:17:24 +0000 (13:17 +0200)
committerJaehoon Chung <jh80.chung@samsung.com>
Tue, 29 Apr 2025 03:02:08 +0000 (12:02 +0900)
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Change-Id: I40d03860acef21452fa83b00215868bbd1391caa

drivers/gpu/drm/img-rogue/module_common.c

index 1f454c91fdb0557cbc4eea799fe8980126711ab0..0dbee2b4c651d65699b4ac398adda4b6667803c6 100644 (file)
@@ -169,13 +169,22 @@ CONNECTION_DATA *LinuxSyncConnectionFromFile(struct file *pFile)
        if (pFile)
        {
                struct drm_file *psDRMFile = pFile->private_data;
-               PVRSRV_CONNECTION_PRIV *psConnectionPriv = (PVRSRV_CONNECTION_PRIV*)psDRMFile->driver_priv;
 
+               if (psDRMFile) {
+                       PVRSRV_CONNECTION_PRIV *psConnectionPriv = (PVRSRV_CONNECTION_PRIV*)psDRMFile->driver_priv;
+
+                       if (psConnectionPriv) {
 #if (PVRSRV_DEVICE_INIT_MODE == PVRSRV_LINUX_DEV_INIT_ON_CONNECT)
-               return (CONNECTION_DATA*)psConnectionPriv->pvConnectionData;
+                               return (CONNECTION_DATA*)psConnectionPriv->pvConnectionData;
 #else
-               return (CONNECTION_DATA*)psConnectionPriv->pvSyncConnectionData;
+                               return (CONNECTION_DATA*)psConnectionPriv->pvSyncConnectionData;
 #endif
+                       } else {
+                               return NULL;
+                       }
+               } else {
+                       return NULL;
+               }
        }
 
        return NULL;