diff options
author | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2018-09-26 13:02:56 +0300 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2018-10-02 09:36:56 +0300 |
commit | 2e65c7a6a15f006bf720f555ad1b63c6aadc5c9f (patch) | |
tree | 6b04acbb84eaf46f72f7507bde7e410ca1514373 /drivers/gpu/drm/omapdrm | |
parent | 08bafffe472cffb1eb9032b83aaef8560103ea3e (diff) | |
download | linux-2e65c7a6a15f006bf720f555ad1b63c6aadc5c9f.tar.xz |
drm/omap: fix use of freed memory
omap_connector_destroy() does:
kfree(omap_connector);
omapdss_device_put(omap_connector->output);
omapdss_device_put(omap_connector->display);
Fix this by moving the kfree after the omapdss_device_puts.
This bug was introduced in 949ea2ef3fed4e1d0f9b80ec21ed81a9833ac248
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'drivers/gpu/drm/omapdrm')
-rw-r--r-- | drivers/gpu/drm/omapdrm/omap_connector.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/omapdrm/omap_connector.c b/drivers/gpu/drm/omapdrm/omap_connector.c index 98f5ca29444a..b81302c4bf9e 100644 --- a/drivers/gpu/drm/omapdrm/omap_connector.c +++ b/drivers/gpu/drm/omapdrm/omap_connector.c @@ -164,10 +164,11 @@ static void omap_connector_destroy(struct drm_connector *connector) drm_connector_unregister(connector); drm_connector_cleanup(connector); - kfree(omap_connector); omapdss_device_put(omap_connector->output); omapdss_device_put(omap_connector->display); + + kfree(omap_connector); } #define MAX_EDID 512 |