drm/xe/xe_devcoredump: Check NULL before assignments
authorHimal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Thu, 28 Mar 2024 12:37:39 +0000 (18:07 +0530)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Fri, 29 Mar 2024 15:28:43 +0000 (11:28 -0400)
Assign 'xe_devcoredump_snapshot *' and 'xe_device *' only if
'coredump' is not NULL.

v2
- Fix commit messages.

v3
- Define variables before code.(Ashutosh/Jose)

v4
- Drop return check for coredump_to_xe. (Jose/Rodrigo)

v5
- Modify misleading commit message. (Matt)

Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Ashutosh Dixit <ashutosh.dixit@intel.com>
Cc: José Roberto de Souza <jose.souza@intel.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240328123739.3633428-1-himal.prasad.ghimiray@intel.com
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/xe/xe_devcoredump.c

index 3a6263ecff01fe2013db98668e4fe836f480849f..a951043b2943bc353506e7537ad439baf8b02fd9 100644 (file)
@@ -77,17 +77,19 @@ static ssize_t xe_devcoredump_read(char *buffer, loff_t offset,
                                   size_t count, void *data, size_t datalen)
 {
        struct xe_devcoredump *coredump = data;
-       struct xe_device *xe = coredump_to_xe(coredump);
-       struct xe_devcoredump_snapshot *ss = &coredump->snapshot;
+       struct xe_device *xe;
+       struct xe_devcoredump_snapshot *ss;
        struct drm_printer p;
        struct drm_print_iterator iter;
        struct timespec64 ts;
        int i;
 
-       /* Our device is gone already... */
-       if (!data || !coredump_to_xe(coredump))
+       if (!coredump)
                return -ENODEV;
 
+       xe = coredump_to_xe(coredump);
+       ss = &coredump->snapshot;
+
        /* Ensure delayed work is captured before continuing */
        flush_work(&ss->work);