drm: Clear e after kfree in drm_mode_page_flip_ioctl
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 30 Mar 2017 13:32:53 +0000 (15:32 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 30 Mar 2017 18:23:51 +0000 (20:23 +0200)
With the explicit retry loop static analyzers get confused by the
control flow and believe that e could be accessed after kfree. That's
not possible, but it's non-obvious, so let's clear it to NULL.

We already cleared e = NULL at the top of the function, so this is all
in line.

Cc: Julia Lawall <julia.lawall@lip6.fr>
Reported-by: Julia Lawall <julia.lawall@lip6.fr>
Fixes: 29dc0d1de182 ("drm: Roll out acquire context for the page_flip ioctl")
Cc: Harry Wentland <harry.wentland@amd.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: Sean Paul <seanpaul@chromium.org>
Reviewed-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170330133253.29500-1-daniel.vetter@ffwll.ch
drivers/gpu/drm/drm_plane.c

index ec3e2e757800d12341be4b8fad23f6fce01d635c..5eca3184a74786dd3e747ffa0a6fc26fbe698a49 100644 (file)
@@ -923,6 +923,7 @@ retry:
                ret = drm_event_reserve_init(dev, file_priv, &e->base, &e->event.base);
                if (ret) {
                        kfree(e);
+                       e = NULL;
                        goto out;
                }
        }