]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
drm/imx/lcdc: Fix double-free of driver data
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Thu, 6 Jul 2023 09:27:31 +0000 (11:27 +0200)
committerPhilipp Zabel <philipp.zabel@gmail.com>
Fri, 1 Dec 2023 15:04:14 +0000 (16:04 +0100)
The struct imx_lcdc driver data is allocated using devm_drm_dev_alloc()
so it must not be explicitly kfree()d.

Also drm_kms_helper_poll_fini() should not be called as there is no
matching drm_kms_helper_poll_init(). So drop the release function
completely.

Fixes: c87e859cdeb5 ("drm/imx/lcdc: Implement DRM driver for imx25")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Philipp Zabel <philipp.zabel@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230706092731.2630232-1-u.kleine-koenig@pengutronix.de
drivers/gpu/drm/imx/lcdc/imx-lcdc.c

index 0902983374d0bcbc25c32925425f988a965d8211..43ddf3a9810b6d198aa37650129aa6d95cd21e00 100644 (file)
@@ -342,21 +342,12 @@ static const struct drm_mode_config_helper_funcs imx_lcdc_mode_config_helpers =
        .atomic_commit_tail = drm_atomic_helper_commit_tail_rpm,
 };
 
-static void imx_lcdc_release(struct drm_device *drm)
-{
-       struct imx_lcdc *lcdc = imx_lcdc_from_drmdev(drm);
-
-       drm_kms_helper_poll_fini(drm);
-       kfree(lcdc);
-}
-
 DEFINE_DRM_GEM_DMA_FOPS(imx_lcdc_drm_fops);
 
 static struct drm_driver imx_lcdc_drm_driver = {
        .driver_features = DRIVER_GEM | DRIVER_MODESET | DRIVER_ATOMIC,
        .fops = &imx_lcdc_drm_fops,
        DRM_GEM_DMA_DRIVER_OPS_VMAP,
-       .release = imx_lcdc_release,
        .name = "imx-lcdc",
        .desc = "i.MX LCDC driver",
        .date = "20200716",