diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2020-08-29 17:58:32 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2020-08-29 17:58:32 -0400 |
commit | fb73c66a697545a0b30fc7bf600217e9f5c301eb (patch) | |
tree | 227d5009866f0d88b9b88f0c82713873c3603aa6 | |
parent | b9d15f4896469c0cb8ddb6fdc1c1333aa2dbd30f (diff) | |
download | longterm-queue-5.2-fb73c66a697545a0b30fc7bf600217e9f5c301eb.tar.gz |
drm: imx: ctxt refresh
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | queue/drm-imx-fix-use-after-free.patch | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/queue/drm-imx-fix-use-after-free.patch b/queue/drm-imx-fix-use-after-free.patch index b006c0b5..4c9634c9 100644 --- a/queue/drm-imx-fix-use-after-free.patch +++ b/queue/drm-imx-fix-use-after-free.patch @@ -1,4 +1,4 @@ -From ba807c94f67fd64b3051199810d9e4dd209fdc00 Mon Sep 17 00:00:00 2001 +From a8421c86dbb0069ac7b94c83fa63a08442c6de6f Mon Sep 17 00:00:00 2001 From: Philipp Zabel <p.zabel@pengutronix.de> Date: Thu, 11 Jun 2020 14:43:31 +0200 Subject: [PATCH] drm/imx: fix use after free @@ -32,10 +32,10 @@ Signed-off-by: Marco Felsch <m.felsch@pengutronix.de> Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> diff --git a/drivers/gpu/drm/imx/dw_hdmi-imx.c b/drivers/gpu/drm/imx/dw_hdmi-imx.c -index ba4ca17fd4d8..87869b9997a6 100644 +index 06393cd1067d..fb86fb6c67e7 100644 --- a/drivers/gpu/drm/imx/dw_hdmi-imx.c +++ b/drivers/gpu/drm/imx/dw_hdmi-imx.c -@@ -209,9 +209,8 @@ static int dw_hdmi_imx_bind(struct device *dev, struct device *master, +@@ -210,9 +210,8 @@ static int dw_hdmi_imx_bind(struct device *dev, struct device *master, if (!pdev->dev.of_node) return -ENODEV; @@ -47,16 +47,16 @@ index ba4ca17fd4d8..87869b9997a6 100644 match = of_match_node(dw_hdmi_imx_dt_ids, pdev->dev.of_node); plat_data = match->data; -@@ -235,8 +234,6 @@ static int dw_hdmi_imx_bind(struct device *dev, struct device *master, - drm_encoder_helper_add(encoder, &dw_hdmi_imx_encoder_helper_funcs); - drm_simple_encoder_init(drm, encoder, DRM_MODE_ENCODER_TMDS); +@@ -237,8 +236,6 @@ static int dw_hdmi_imx_bind(struct device *dev, struct device *master, + drm_encoder_init(drm, encoder, &dw_hdmi_imx_encoder_funcs, + DRM_MODE_ENCODER_TMDS, NULL); - platform_set_drvdata(pdev, hdmi); - hdmi->hdmi = dw_hdmi_bind(pdev, encoder, plat_data); /* -@@ -266,6 +263,14 @@ static const struct component_ops dw_hdmi_imx_ops = { +@@ -268,6 +265,14 @@ static const struct component_ops dw_hdmi_imx_ops = { static int dw_hdmi_imx_probe(struct platform_device *pdev) { @@ -72,10 +72,10 @@ index ba4ca17fd4d8..87869b9997a6 100644 } diff --git a/drivers/gpu/drm/imx/imx-drm-core.c b/drivers/gpu/drm/imx/imx-drm-core.c -index 2e38f1a5cf8d..3421043a558d 100644 +index 3e8bece620df..97b78e384183 100644 --- a/drivers/gpu/drm/imx/imx-drm-core.c +++ b/drivers/gpu/drm/imx/imx-drm-core.c -@@ -275,9 +275,10 @@ static void imx_drm_unbind(struct device *dev) +@@ -280,9 +280,10 @@ static void imx_drm_unbind(struct device *dev) drm_kms_helper_poll_fini(drm); @@ -88,10 +88,10 @@ index 2e38f1a5cf8d..3421043a558d 100644 drm_dev_put(drm); diff --git a/drivers/gpu/drm/imx/imx-ldb.c b/drivers/gpu/drm/imx/imx-ldb.c -index 66ea68e8da87..1823af9936c9 100644 +index 383733302280..720f2cc84433 100644 --- a/drivers/gpu/drm/imx/imx-ldb.c +++ b/drivers/gpu/drm/imx/imx-ldb.c -@@ -590,9 +590,8 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data) +@@ -593,9 +593,8 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data) int ret; int i; @@ -103,7 +103,7 @@ index 66ea68e8da87..1823af9936c9 100644 imx_ldb->regmap = syscon_regmap_lookup_by_phandle(np, "gpr"); if (IS_ERR(imx_ldb->regmap)) { -@@ -700,8 +699,6 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data) +@@ -703,8 +702,6 @@ static int imx_ldb_bind(struct device *dev, struct device *master, void *data) } } @@ -112,7 +112,7 @@ index 66ea68e8da87..1823af9936c9 100644 return 0; free_child: -@@ -733,6 +730,14 @@ static const struct component_ops imx_ldb_ops = { +@@ -736,6 +733,14 @@ static const struct component_ops imx_ldb_ops = { static int imx_ldb_probe(struct platform_device *pdev) { @@ -128,7 +128,7 @@ index 66ea68e8da87..1823af9936c9 100644 } diff --git a/drivers/gpu/drm/imx/imx-tve.c b/drivers/gpu/drm/imx/imx-tve.c -index ee63782c77e9..82d1ee1fb0c8 100644 +index e725af8a0025..64fecd968554 100644 --- a/drivers/gpu/drm/imx/imx-tve.c +++ b/drivers/gpu/drm/imx/imx-tve.c @@ -542,9 +542,8 @@ static int imx_tve_bind(struct device *dev, struct device *master, void *data) @@ -168,10 +168,10 @@ index ee63782c77e9..82d1ee1fb0c8 100644 } diff --git a/drivers/gpu/drm/imx/ipuv3-crtc.c b/drivers/gpu/drm/imx/ipuv3-crtc.c -index 63c0284f8b3c..2256c9789fc2 100644 +index c436a28d50e4..f3df21880140 100644 --- a/drivers/gpu/drm/imx/ipuv3-crtc.c +++ b/drivers/gpu/drm/imx/ipuv3-crtc.c -@@ -438,21 +438,13 @@ static int ipu_drm_bind(struct device *dev, struct device *master, void *data) +@@ -434,21 +434,13 @@ static int ipu_drm_bind(struct device *dev, struct device *master, void *data) struct ipu_client_platformdata *pdata = dev->platform_data; struct drm_device *drm = data; struct ipu_crtc *ipu_crtc; @@ -196,7 +196,7 @@ index 63c0284f8b3c..2256c9789fc2 100644 } static void ipu_drm_unbind(struct device *dev, struct device *master, -@@ -474,6 +466,7 @@ static const struct component_ops ipu_crtc_ops = { +@@ -470,6 +462,7 @@ static const struct component_ops ipu_crtc_ops = { static int ipu_drm_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -204,7 +204,7 @@ index 63c0284f8b3c..2256c9789fc2 100644 int ret; if (!dev->platform_data) -@@ -483,6 +476,12 @@ static int ipu_drm_probe(struct platform_device *pdev) +@@ -479,6 +472,12 @@ static int ipu_drm_probe(struct platform_device *pdev) if (ret) return ret; @@ -218,10 +218,10 @@ index 63c0284f8b3c..2256c9789fc2 100644 } diff --git a/drivers/gpu/drm/imx/parallel-display.c b/drivers/gpu/drm/imx/parallel-display.c -index ac916c84a631..622eabe9efb3 100644 +index 1a76de1e8e7b..487ba3b176d3 100644 --- a/drivers/gpu/drm/imx/parallel-display.c +++ b/drivers/gpu/drm/imx/parallel-display.c -@@ -326,9 +326,8 @@ static int imx_pd_bind(struct device *dev, struct device *master, void *data) +@@ -205,9 +205,8 @@ static int imx_pd_bind(struct device *dev, struct device *master, void *data) u32 bus_format = 0; const char *fmt; @@ -233,7 +233,7 @@ index ac916c84a631..622eabe9efb3 100644 edidp = of_get_property(np, "edid", &imxpd->edid_len); if (edidp) -@@ -359,8 +358,6 @@ static int imx_pd_bind(struct device *dev, struct device *master, void *data) +@@ -237,8 +236,6 @@ static int imx_pd_bind(struct device *dev, struct device *master, void *data) if (ret) return ret; @@ -242,7 +242,7 @@ index ac916c84a631..622eabe9efb3 100644 return 0; } -@@ -382,6 +379,14 @@ static const struct component_ops imx_pd_ops = { +@@ -260,6 +257,14 @@ static const struct component_ops imx_pd_ops = { static int imx_pd_probe(struct platform_device *pdev) { |