drm/nouveau/debugfs: Move a variable assignment behind a null pointer check in nouvea...
authorMarkus Elfring <Markus.Elfring@web.de>
Sat, 15 Apr 2023 19:24:43 +0000 (21:24 +0200)
committerKarol Herbst <kherbst@redhat.com>
Mon, 17 Apr 2023 17:08:03 +0000 (19:08 +0200)
The address of a data structure member was determined before
a corresponding null pointer check in the implementation of
the function “nouveau_debugfs_pstate_get”.

Thus avoid the risk for undefined behaviour by moving the assignment
for the variable “ctrl” behind the null pointer check.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/5b7b99f7-1692-74e5-4b1e-cfa14dad7c57@web.de
drivers/gpu/drm/nouveau/nouveau_debugfs.c

index 44e26b6..a859a08 100644 (file)
@@ -73,13 +73,14 @@ nouveau_debugfs_pstate_get(struct seq_file *m, void *data)
 {
        struct drm_device *drm = m->private;
        struct nouveau_debugfs *debugfs = nouveau_debugfs(drm);
-       struct nvif_object *ctrl = &debugfs->ctrl;
+       struct nvif_object *ctrl;
        struct nvif_control_pstate_info_v0 info = {};
        int ret, i;
 
        if (!debugfs)
                return -ENODEV;
 
+       ctrl = &debugfs->ctrl;
        ret = nvif_mthd(ctrl, NVIF_CONTROL_PSTATE_INFO, &info, sizeof(info));
        if (ret)
                return ret;