public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH v2] drm/mxsfb: Switch to drmm_mode_config_init
@ 2023-11-27 21:25 Marek Vasut
  2023-11-28  7:53 ` Thomas Zimmermann
  2023-11-28  8:27 ` Maxime Ripard
  0 siblings, 2 replies; 4+ messages in thread
From: Marek Vasut @ 2023-11-27 21:25 UTC (permalink / raw)
  To: dri-devel
  Cc: Marek Vasut, Daniel Vetter, David Airlie, Fabio Estevam,
	Maarten Lankhorst, Maxime Ripard, NXP Linux Team,
	Pengutronix Kernel Team, Sascha Hauer, Shawn Guo, Stefan Agner,
	Thomas Zimmermann, linux-arm-kernel

Switch from deprecated unmanaged drm_mode_config_init() to
managed drmm_mode_config_init(). No functional change.

Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: David Airlie <airlied@gmail.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
Cc: Stefan Agner <stefan@agner.ch>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: dri-devel@lists.freedesktop.org
Cc: linux-arm-kernel@lists.infradead.org
---
V2: Drop matching drm_mode_config_cleanup
---
 drivers/gpu/drm/mxsfb/mxsfb_drv.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
index 3bfa369b2507e..cfa3176ebe2c2 100644
--- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
+++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
@@ -248,7 +248,11 @@ static int mxsfb_load(struct drm_device *drm,
 	pm_runtime_enable(drm->dev);
 
 	/* Modeset init */
-	drm_mode_config_init(drm);
+	ret = drmm_mode_config_init(drm);
+	if (ret) {
+		dev_err(drm->dev, "Failed to initialize mode config\n");
+		goto err_vblank;
+	}
 
 	ret = mxsfb_kms_init(mxsfb);
 	if (ret < 0) {
@@ -311,7 +315,6 @@ static int mxsfb_load(struct drm_device *drm,
 static void mxsfb_unload(struct drm_device *drm)
 {
 	drm_kms_helper_poll_fini(drm);
-	drm_mode_config_cleanup(drm);
 
 	pm_runtime_get_sync(drm->dev);
 	mxsfb_irq_uninstall(drm);
-- 
2.42.0


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] drm/mxsfb: Switch to drmm_mode_config_init
  2023-11-27 21:25 [PATCH v2] drm/mxsfb: Switch to drmm_mode_config_init Marek Vasut
@ 2023-11-28  7:53 ` Thomas Zimmermann
  2023-11-28  8:27 ` Maxime Ripard
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Zimmermann @ 2023-11-28  7:53 UTC (permalink / raw)
  To: Marek Vasut, dri-devel
  Cc: Daniel Vetter, David Airlie, Fabio Estevam, Maarten Lankhorst,
	Maxime Ripard, NXP Linux Team, Pengutronix Kernel Team,
	Sascha Hauer, Shawn Guo, Stefan Agner, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 2117 bytes --]



Am 27.11.23 um 22:25 schrieb Marek Vasut:
> Switch from deprecated unmanaged drm_mode_config_init() to
> managed drmm_mode_config_init(). No functional change.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Stefan Agner <stefan@agner.ch>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-arm-kernel@lists.infradead.org

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>

> ---
> V2: Drop matching drm_mode_config_cleanup
> ---
>   drivers/gpu/drm/mxsfb/mxsfb_drv.c | 7 +++++--
>   1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/mxsfb/mxsfb_drv.c b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> index 3bfa369b2507e..cfa3176ebe2c2 100644
> --- a/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> +++ b/drivers/gpu/drm/mxsfb/mxsfb_drv.c
> @@ -248,7 +248,11 @@ static int mxsfb_load(struct drm_device *drm,
>   	pm_runtime_enable(drm->dev);
>   
>   	/* Modeset init */
> -	drm_mode_config_init(drm);
> +	ret = drmm_mode_config_init(drm);
> +	if (ret) {
> +		dev_err(drm->dev, "Failed to initialize mode config\n");
> +		goto err_vblank;
> +	}
>   
>   	ret = mxsfb_kms_init(mxsfb);
>   	if (ret < 0) {
> @@ -311,7 +315,6 @@ static int mxsfb_load(struct drm_device *drm,
>   static void mxsfb_unload(struct drm_device *drm)
>   {
>   	drm_kms_helper_poll_fini(drm);
> -	drm_mode_config_cleanup(drm);
>   
>   	pm_runtime_get_sync(drm->dev);
>   	mxsfb_irq_uninstall(drm);

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] drm/mxsfb: Switch to drmm_mode_config_init
  2023-11-27 21:25 [PATCH v2] drm/mxsfb: Switch to drmm_mode_config_init Marek Vasut
  2023-11-28  7:53 ` Thomas Zimmermann
@ 2023-11-28  8:27 ` Maxime Ripard
  2023-11-28  9:31   ` Thomas Zimmermann
  1 sibling, 1 reply; 4+ messages in thread
From: Maxime Ripard @ 2023-11-28  8:27 UTC (permalink / raw)
  To: Marek Vasut
  Cc: dri-devel, Daniel Vetter, David Airlie, Fabio Estevam,
	Maarten Lankhorst, NXP Linux Team, Pengutronix Kernel Team,
	Sascha Hauer, Shawn Guo, Stefan Agner, Thomas Zimmermann,
	linux-arm-kernel


[-- Attachment #1.1: Type: text/plain, Size: 1075 bytes --]

Hi,

On Mon, Nov 27, 2023 at 10:25:38PM +0100, Marek Vasut wrote:
> Switch from deprecated unmanaged drm_mode_config_init() to
> managed drmm_mode_config_init(). No functional change.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Daniel Vetter <daniel@ffwll.ch>
> Cc: David Airlie <airlied@gmail.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
> Cc: Maxime Ripard <mripard@kernel.org>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> Cc: Stefan Agner <stefan@agner.ch>
> Cc: Thomas Zimmermann <tzimmermann@suse.de>
> Cc: dri-devel@lists.freedesktop.org
> Cc: linux-arm-kernel@lists.infradead.org

This is only somewhat related to that patch, but mksfb_drm_private is
allocated with devm and holds the planes, crtcs and encoders. This is
unsafe, leads to UAF, and should be converted to a drmm allocation too
(in another patch of course)

Maxime

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] drm/mxsfb: Switch to drmm_mode_config_init
  2023-11-28  8:27 ` Maxime Ripard
@ 2023-11-28  9:31   ` Thomas Zimmermann
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Zimmermann @ 2023-11-28  9:31 UTC (permalink / raw)
  To: Maxime Ripard, Marek Vasut
  Cc: dri-devel, Daniel Vetter, David Airlie, Fabio Estevam,
	Maarten Lankhorst, NXP Linux Team, Pengutronix Kernel Team,
	Sascha Hauer, Shawn Guo, Stefan Agner, linux-arm-kernel


[-- Attachment #1.1.1: Type: text/plain, Size: 1612 bytes --]

Hi

Am 28.11.23 um 09:27 schrieb Maxime Ripard:
> Hi,
> 
> On Mon, Nov 27, 2023 at 10:25:38PM +0100, Marek Vasut wrote:
>> Switch from deprecated unmanaged drm_mode_config_init() to
>> managed drmm_mode_config_init(). No functional change.
>>
>> Signed-off-by: Marek Vasut <marex@denx.de>
>> ---
>> Cc: Daniel Vetter <daniel@ffwll.ch>
>> Cc: David Airlie <airlied@gmail.com>
>> Cc: Fabio Estevam <festevam@gmail.com>
>> Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
>> Cc: Maxime Ripard <mripard@kernel.org>
>> Cc: NXP Linux Team <linux-imx@nxp.com>
>> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
>> Cc: Sascha Hauer <s.hauer@pengutronix.de>
>> Cc: Shawn Guo <shawnguo@kernel.org>
>> Cc: Stefan Agner <stefan@agner.ch>
>> Cc: Thomas Zimmermann <tzimmermann@suse.de>
>> Cc: dri-devel@lists.freedesktop.org
>> Cc: linux-arm-kernel@lists.infradead.org
> 
> This is only somewhat related to that patch, but mksfb_drm_private is
> allocated with devm and holds the planes, crtcs and encoders. This is
> unsafe, leads to UAF, and should be converted to a drmm allocation too
> (in another patch of course)

To add to this, the whole driver's probe/remove should be converted to 
managed code. There's irq and pm code that could likely be updated. 
Marek, if you have the means, patches are welcome.

Best regards
Thomas

> 
> Maxime

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstrasse 146, 90461 Nuernberg, Germany
GF: Ivo Totev, Andrew Myers, Andrew McDonald, Boudien Moerman
HRB 36809 (AG Nuernberg)

[-- Attachment #1.2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

[-- Attachment #2: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-11-28  9:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-27 21:25 [PATCH v2] drm/mxsfb: Switch to drmm_mode_config_init Marek Vasut
2023-11-28  7:53 ` Thomas Zimmermann
2023-11-28  8:27 ` Maxime Ripard
2023-11-28  9:31   ` Thomas Zimmermann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox