* [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