* [PATCH 1/2] soc: imx: imx8m-blk-ctrl: Fix NULL pointer dereference
@ 2022-12-15 3:47 Marek Vasut
2022-12-15 3:48 ` [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: " Marek Vasut
` (2 more replies)
0 siblings, 3 replies; 10+ messages in thread
From: Marek Vasut @ 2022-12-15 3:47 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Marek Vasut, Adam Ford, Benjamin Gaignard, Fabio Estevam,
Lucas Stach, Marco Felsch, NXP Linux Team, Paul Elder, Peng Fan,
Pengutronix Kernel Team, Sascha Hauer, Shawn Guo
Check domain->power_dev = dev_pm_domain_attach_by_name() return value using
IS_ERR_OR_NULL() instead of plain IS_ERR(), and fail if domain->power_dev is
either error or NULL.
In case a power domain attached by dev_pm_domain_attach_by_name() is not
described in DT, dev_pm_domain_attach_by_name() returns NULL, which is
then used a few lines below in dev_set_name(domain->power_dev, ...);,
which leads to NULL pointer dereference.
Fixes: 2684ac05a8c4 ("soc: imx: add i.MX8M blk-ctrl driver")
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Adam Ford <aford173@gmail.com>
Cc: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Marco Felsch <m.felsch@pengutronix.de>
Cc: Marek Vasut <marex@denx.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
To: linux-arm-kernel@lists.infradead.org
---
drivers/soc/imx/imx8m-blk-ctrl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
index ddcf6be3d8b4a..2fbc8e6b2644b 100644
--- a/drivers/soc/imx/imx8m-blk-ctrl.c
+++ b/drivers/soc/imx/imx8m-blk-ctrl.c
@@ -256,7 +256,7 @@ static int imx8m_blk_ctrl_probe(struct platform_device *pdev)
domain->power_dev =
dev_pm_domain_attach_by_name(dev, data->gpc_name);
- if (IS_ERR(domain->power_dev)) {
+ if (IS_ERR_OR_NULL(domain->power_dev)) {
dev_err_probe(dev, PTR_ERR(domain->power_dev),
"failed to attach power domain \"%s\"\n",
data->gpc_name);
--
2.35.1
_______________________________________________
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] 10+ messages in thread
* [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: Fix NULL pointer dereference
2022-12-15 3:47 [PATCH 1/2] soc: imx: imx8m-blk-ctrl: Fix NULL pointer dereference Marek Vasut
@ 2022-12-15 3:48 ` Marek Vasut
2022-12-15 6:36 ` Sascha Hauer
2022-12-15 6:26 ` [PATCH 1/2] soc: imx: imx8m-blk-ctrl: " Sascha Hauer
2022-12-15 8:59 ` Marco Felsch
2 siblings, 1 reply; 10+ messages in thread
From: Marek Vasut @ 2022-12-15 3:48 UTC (permalink / raw)
To: linux-arm-kernel
Cc: Marek Vasut, Adam Ford, Benjamin Gaignard, Fabio Estevam,
Lucas Stach, Marco Felsch, NXP Linux Team, Paul Elder, Peng Fan,
Pengutronix Kernel Team, Sascha Hauer, Shawn Guo
Check domain->power_dev = dev_pm_domain_attach_by_name() return value using
IS_ERR_OR_NULL() instead of plain IS_ERR(), and fail if domain->power_dev is
either error or NULL.
In case a power domain attached by dev_pm_domain_attach_by_name() is not
described in DT, dev_pm_domain_attach_by_name() returns NULL, which is
then used a few lines below in dev_set_name(domain->power_dev, ...);,
which leads to NULL pointer dereference.
Fixes: 556f5cf9568a ("soc: imx: add i.MX8MP HSIO blk-ctrl")
Signed-off-by: Marek Vasut <marex@denx.de>
---
Cc: Adam Ford <aford173@gmail.com>
Cc: Benjamin Gaignard <benjamin.gaignard@collabora.com>
Cc: Fabio Estevam <festevam@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Cc: Marco Felsch <m.felsch@pengutronix.de>
Cc: Marek Vasut <marex@denx.de>
Cc: NXP Linux Team <linux-imx@nxp.com>
Cc: Paul Elder <paul.elder@ideasonboard.com>
Cc: Peng Fan <peng.fan@nxp.com>
Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
Cc: Sascha Hauer <s.hauer@pengutronix.de>
Cc: Shawn Guo <shawnguo@kernel.org>
To: linux-arm-kernel@lists.infradead.org
---
drivers/soc/imx/imx8mp-blk-ctrl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
index b7d4161fcda9c..916bf0b3bc975 100644
--- a/drivers/soc/imx/imx8mp-blk-ctrl.c
+++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
@@ -553,7 +553,7 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev)
domain->power_dev =
dev_pm_domain_attach_by_name(dev, data->gpc_name);
- if (IS_ERR(domain->power_dev)) {
+ if (IS_ERR_OR_NULL(domain->power_dev)) {
dev_err_probe(dev, PTR_ERR(domain->power_dev),
"failed to attach power domain %s\n",
data->gpc_name);
--
2.35.1
_______________________________________________
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] 10+ messages in thread
* Re: [PATCH 1/2] soc: imx: imx8m-blk-ctrl: Fix NULL pointer dereference
2022-12-15 3:47 [PATCH 1/2] soc: imx: imx8m-blk-ctrl: Fix NULL pointer dereference Marek Vasut
2022-12-15 3:48 ` [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: " Marek Vasut
@ 2022-12-15 6:26 ` Sascha Hauer
2022-12-15 8:59 ` Marco Felsch
2 siblings, 0 replies; 10+ messages in thread
From: Sascha Hauer @ 2022-12-15 6:26 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, Peng Fan, Benjamin Gaignard, Fabio Estevam,
Paul Elder, Marco Felsch, NXP Linux Team,
Pengutronix Kernel Team, Shawn Guo, Adam Ford, Lucas Stach
On Thu, Dec 15, 2022 at 04:47:59AM +0100, Marek Vasut wrote:
> Check domain->power_dev = dev_pm_domain_attach_by_name() return value using
> IS_ERR_OR_NULL() instead of plain IS_ERR(), and fail if domain->power_dev is
> either error or NULL.
>
> In case a power domain attached by dev_pm_domain_attach_by_name() is not
> described in DT, dev_pm_domain_attach_by_name() returns NULL, which is
> then used a few lines below in dev_set_name(domain->power_dev, ...);,
> which leads to NULL pointer dereference.
This is no longer the case since b64b46fbaa1da ("Revert "soc: imx:
imx8m-blk-ctrl: set power device name"")
>
> Fixes: 2684ac05a8c4 ("soc: imx: add i.MX8M blk-ctrl driver")
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Adam Ford <aford173@gmail.com>
> Cc: Benjamin Gaignard <benjamin.gaignard@collabora.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Marco Felsch <m.felsch@pengutronix.de>
> Cc: Marek Vasut <marex@denx.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> To: linux-arm-kernel@lists.infradead.org
> ---
> drivers/soc/imx/imx8m-blk-ctrl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
> index ddcf6be3d8b4a..2fbc8e6b2644b 100644
> --- a/drivers/soc/imx/imx8m-blk-ctrl.c
> +++ b/drivers/soc/imx/imx8m-blk-ctrl.c
> @@ -256,7 +256,7 @@ static int imx8m_blk_ctrl_probe(struct platform_device *pdev)
>
> domain->power_dev =
> dev_pm_domain_attach_by_name(dev, data->gpc_name);
> - if (IS_ERR(domain->power_dev)) {
> + if (IS_ERR_OR_NULL(domain->power_dev)) {
> dev_err_probe(dev, PTR_ERR(domain->power_dev),
> "failed to attach power domain \"%s\"\n",
> data->gpc_name);
Calling dev_err_probe() with an error value of 0 looks wrong. Jumping to
the error path with an error value of 0 also looks wrong.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
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] 10+ messages in thread
* Re: [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: Fix NULL pointer dereference
2022-12-15 3:48 ` [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: " Marek Vasut
@ 2022-12-15 6:36 ` Sascha Hauer
2022-12-15 9:04 ` Marco Felsch
0 siblings, 1 reply; 10+ messages in thread
From: Sascha Hauer @ 2022-12-15 6:36 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, Peng Fan, Benjamin Gaignard, Fabio Estevam,
Paul Elder, Marco Felsch, NXP Linux Team,
Pengutronix Kernel Team, Shawn Guo, Adam Ford, Lucas Stach
On Thu, Dec 15, 2022 at 04:48:00AM +0100, Marek Vasut wrote:
> Check domain->power_dev = dev_pm_domain_attach_by_name() return value using
> IS_ERR_OR_NULL() instead of plain IS_ERR(), and fail if domain->power_dev is
> either error or NULL.
>
> In case a power domain attached by dev_pm_domain_attach_by_name() is not
> described in DT, dev_pm_domain_attach_by_name() returns NULL, which is
> then used a few lines below in dev_set_name(domain->power_dev, ...);,
> which leads to NULL pointer dereference.
>
> Fixes: 556f5cf9568a ("soc: imx: add i.MX8MP HSIO blk-ctrl")
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Adam Ford <aford173@gmail.com>
> Cc: Benjamin Gaignard <benjamin.gaignard@collabora.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Marco Felsch <m.felsch@pengutronix.de>
> Cc: Marek Vasut <marex@denx.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> To: linux-arm-kernel@lists.infradead.org
> ---
> drivers/soc/imx/imx8mp-blk-ctrl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
> index b7d4161fcda9c..916bf0b3bc975 100644
> --- a/drivers/soc/imx/imx8mp-blk-ctrl.c
> +++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
> @@ -553,7 +553,7 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev)
>
> domain->power_dev =
> dev_pm_domain_attach_by_name(dev, data->gpc_name);
> - if (IS_ERR(domain->power_dev)) {
> + if (IS_ERR_OR_NULL(domain->power_dev)) {
> dev_err_probe(dev, PTR_ERR(domain->power_dev),
> "failed to attach power domain %s\n",
> data->gpc_name);
Same problem as with the other patch, you shouldn't use 0 as error
value.
Sascha
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
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] 10+ messages in thread
* Re: [PATCH 1/2] soc: imx: imx8m-blk-ctrl: Fix NULL pointer dereference
2022-12-15 3:47 [PATCH 1/2] soc: imx: imx8m-blk-ctrl: Fix NULL pointer dereference Marek Vasut
2022-12-15 3:48 ` [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: " Marek Vasut
2022-12-15 6:26 ` [PATCH 1/2] soc: imx: imx8m-blk-ctrl: " Sascha Hauer
@ 2022-12-15 8:59 ` Marco Felsch
2 siblings, 0 replies; 10+ messages in thread
From: Marco Felsch @ 2022-12-15 8:59 UTC (permalink / raw)
To: Marek Vasut
Cc: linux-arm-kernel, Adam Ford, Benjamin Gaignard, Fabio Estevam,
Lucas Stach, NXP Linux Team, Paul Elder, Peng Fan,
Pengutronix Kernel Team, Sascha Hauer, Shawn Guo
Hi Marek,
On 22-12-15, Marek Vasut wrote:
> Check domain->power_dev = dev_pm_domain_attach_by_name() return value using
> IS_ERR_OR_NULL() instead of plain IS_ERR(), and fail if domain->power_dev is
> either error or NULL.
>
> In case a power domain attached by dev_pm_domain_attach_by_name() is not
> described in DT, dev_pm_domain_attach_by_name() returns NULL, which is
> then used a few lines below in dev_set_name(domain->power_dev, ...);,
> which leads to NULL pointer dereference.
This is already fixed by b64b46fbaa1da626324f304bcb5fe0662f28b6ce.
Regards,
Marco
>
> Fixes: 2684ac05a8c4 ("soc: imx: add i.MX8M blk-ctrl driver")
> Signed-off-by: Marek Vasut <marex@denx.de>
> ---
> Cc: Adam Ford <aford173@gmail.com>
> Cc: Benjamin Gaignard <benjamin.gaignard@collabora.com>
> Cc: Fabio Estevam <festevam@gmail.com>
> Cc: Lucas Stach <l.stach@pengutronix.de>
> Cc: Marco Felsch <m.felsch@pengutronix.de>
> Cc: Marek Vasut <marex@denx.de>
> Cc: NXP Linux Team <linux-imx@nxp.com>
> Cc: Paul Elder <paul.elder@ideasonboard.com>
> Cc: Peng Fan <peng.fan@nxp.com>
> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> Cc: Shawn Guo <shawnguo@kernel.org>
> To: linux-arm-kernel@lists.infradead.org
> ---
> drivers/soc/imx/imx8m-blk-ctrl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/soc/imx/imx8m-blk-ctrl.c b/drivers/soc/imx/imx8m-blk-ctrl.c
> index ddcf6be3d8b4a..2fbc8e6b2644b 100644
> --- a/drivers/soc/imx/imx8m-blk-ctrl.c
> +++ b/drivers/soc/imx/imx8m-blk-ctrl.c
> @@ -256,7 +256,7 @@ static int imx8m_blk_ctrl_probe(struct platform_device *pdev)
>
> domain->power_dev =
> dev_pm_domain_attach_by_name(dev, data->gpc_name);
> - if (IS_ERR(domain->power_dev)) {
> + if (IS_ERR_OR_NULL(domain->power_dev)) {
> dev_err_probe(dev, PTR_ERR(domain->power_dev),
> "failed to attach power domain \"%s\"\n",
> data->gpc_name);
> --
> 2.35.1
>
>
_______________________________________________
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] 10+ messages in thread
* Re: [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: Fix NULL pointer dereference
2022-12-15 6:36 ` Sascha Hauer
@ 2022-12-15 9:04 ` Marco Felsch
2022-12-17 23:26 ` Marek Vasut
0 siblings, 1 reply; 10+ messages in thread
From: Marco Felsch @ 2022-12-15 9:04 UTC (permalink / raw)
To: Sascha Hauer
Cc: Marek Vasut, linux-arm-kernel, Peng Fan, Benjamin Gaignard,
Fabio Estevam, Paul Elder, NXP Linux Team,
Pengutronix Kernel Team, Shawn Guo, Adam Ford, Lucas Stach
On 22-12-15, Sascha Hauer wrote:
> On Thu, Dec 15, 2022 at 04:48:00AM +0100, Marek Vasut wrote:
> > Check domain->power_dev = dev_pm_domain_attach_by_name() return value using
> > IS_ERR_OR_NULL() instead of plain IS_ERR(), and fail if domain->power_dev is
> > either error or NULL.
> >
> > In case a power domain attached by dev_pm_domain_attach_by_name() is not
> > described in DT, dev_pm_domain_attach_by_name() returns NULL, which is
> > then used a few lines below in dev_set_name(domain->power_dev, ...);,
> > which leads to NULL pointer dereference.
> >
> > Fixes: 556f5cf9568a ("soc: imx: add i.MX8MP HSIO blk-ctrl")
> > Signed-off-by: Marek Vasut <marex@denx.de>
> > ---
> > Cc: Adam Ford <aford173@gmail.com>
> > Cc: Benjamin Gaignard <benjamin.gaignard@collabora.com>
> > Cc: Fabio Estevam <festevam@gmail.com>
> > Cc: Lucas Stach <l.stach@pengutronix.de>
> > Cc: Marco Felsch <m.felsch@pengutronix.de>
> > Cc: Marek Vasut <marex@denx.de>
> > Cc: NXP Linux Team <linux-imx@nxp.com>
> > Cc: Paul Elder <paul.elder@ideasonboard.com>
> > Cc: Peng Fan <peng.fan@nxp.com>
> > Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> > Cc: Sascha Hauer <s.hauer@pengutronix.de>
> > Cc: Shawn Guo <shawnguo@kernel.org>
> > To: linux-arm-kernel@lists.infradead.org
> > ---
> > drivers/soc/imx/imx8mp-blk-ctrl.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
> > index b7d4161fcda9c..916bf0b3bc975 100644
> > --- a/drivers/soc/imx/imx8mp-blk-ctrl.c
> > +++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
> > @@ -553,7 +553,7 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev)
> >
> > domain->power_dev =
> > dev_pm_domain_attach_by_name(dev, data->gpc_name);
> > - if (IS_ERR(domain->power_dev)) {
> > + if (IS_ERR_OR_NULL(domain->power_dev)) {
> > dev_err_probe(dev, PTR_ERR(domain->power_dev),
> > "failed to attach power domain %s\n",
> > data->gpc_name);
>
> Same problem as with the other patch, you shouldn't use 0 as error
> value.
This and IIRC Lucas already had a patch to fix.
Regards,
Marco
>
> Sascha
>
> --
> Pengutronix e.K. | |
> Steuerwalder Str. 21 | http://www.pengutronix.de/ |
> 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
> Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
>
_______________________________________________
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] 10+ messages in thread
* Re: [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: Fix NULL pointer dereference
2022-12-15 9:04 ` Marco Felsch
@ 2022-12-17 23:26 ` Marek Vasut
2022-12-18 13:29 ` Adam Ford
0 siblings, 1 reply; 10+ messages in thread
From: Marek Vasut @ 2022-12-17 23:26 UTC (permalink / raw)
To: Marco Felsch, Sascha Hauer
Cc: linux-arm-kernel, Peng Fan, Benjamin Gaignard, Fabio Estevam,
Paul Elder, NXP Linux Team, Pengutronix Kernel Team, Shawn Guo,
Adam Ford, Lucas Stach
On 12/15/22 10:04, Marco Felsch wrote:
> On 22-12-15, Sascha Hauer wrote:
>> On Thu, Dec 15, 2022 at 04:48:00AM +0100, Marek Vasut wrote:
>>> Check domain->power_dev = dev_pm_domain_attach_by_name() return value using
>>> IS_ERR_OR_NULL() instead of plain IS_ERR(), and fail if domain->power_dev is
>>> either error or NULL.
>>>
>>> In case a power domain attached by dev_pm_domain_attach_by_name() is not
>>> described in DT, dev_pm_domain_attach_by_name() returns NULL, which is
>>> then used a few lines below in dev_set_name(domain->power_dev, ...);,
>>> which leads to NULL pointer dereference.
>>>
>>> Fixes: 556f5cf9568a ("soc: imx: add i.MX8MP HSIO blk-ctrl")
>>> Signed-off-by: Marek Vasut <marex@denx.de>
>>> ---
>>> Cc: Adam Ford <aford173@gmail.com>
>>> Cc: Benjamin Gaignard <benjamin.gaignard@collabora.com>
>>> Cc: Fabio Estevam <festevam@gmail.com>
>>> Cc: Lucas Stach <l.stach@pengutronix.de>
>>> Cc: Marco Felsch <m.felsch@pengutronix.de>
>>> Cc: Marek Vasut <marex@denx.de>
>>> Cc: NXP Linux Team <linux-imx@nxp.com>
>>> Cc: Paul Elder <paul.elder@ideasonboard.com>
>>> Cc: Peng Fan <peng.fan@nxp.com>
>>> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
>>> Cc: Sascha Hauer <s.hauer@pengutronix.de>
>>> Cc: Shawn Guo <shawnguo@kernel.org>
>>> To: linux-arm-kernel@lists.infradead.org
>>> ---
>>> drivers/soc/imx/imx8mp-blk-ctrl.c | 2 +-
>>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
>>> index b7d4161fcda9c..916bf0b3bc975 100644
>>> --- a/drivers/soc/imx/imx8mp-blk-ctrl.c
>>> +++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
>>> @@ -553,7 +553,7 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev)
>>>
>>> domain->power_dev =
>>> dev_pm_domain_attach_by_name(dev, data->gpc_name);
>>> - if (IS_ERR(domain->power_dev)) {
>>> + if (IS_ERR_OR_NULL(domain->power_dev)) {
>>> dev_err_probe(dev, PTR_ERR(domain->power_dev),
>>> "failed to attach power domain %s\n",
>>> data->gpc_name);
>>
>> Same problem as with the other patch, you shouldn't use 0 as error
>> value.
>
> This and IIRC Lucas already had a patch to fix.
Seems there is a fix for 8m-blk-ctrl, not 8mp , but the fix would then
be identical.
_______________________________________________
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] 10+ messages in thread
* Re: [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: Fix NULL pointer dereference
2022-12-17 23:26 ` Marek Vasut
@ 2022-12-18 13:29 ` Adam Ford
2022-12-18 16:31 ` Marek Vasut
0 siblings, 1 reply; 10+ messages in thread
From: Adam Ford @ 2022-12-18 13:29 UTC (permalink / raw)
To: Marek Vasut
Cc: Marco Felsch, Sascha Hauer, linux-arm-kernel, Peng Fan,
Benjamin Gaignard, Fabio Estevam, Paul Elder, NXP Linux Team,
Pengutronix Kernel Team, Shawn Guo, Lucas Stach
On Sat, Dec 17, 2022 at 5:26 PM Marek Vasut <marex@denx.de> wrote:
>
> On 12/15/22 10:04, Marco Felsch wrote:
> > On 22-12-15, Sascha Hauer wrote:
> >> On Thu, Dec 15, 2022 at 04:48:00AM +0100, Marek Vasut wrote:
> >>> Check domain->power_dev = dev_pm_domain_attach_by_name() return value using
> >>> IS_ERR_OR_NULL() instead of plain IS_ERR(), and fail if domain->power_dev is
> >>> either error or NULL.
> >>>
> >>> In case a power domain attached by dev_pm_domain_attach_by_name() is not
> >>> described in DT, dev_pm_domain_attach_by_name() returns NULL, which is
> >>> then used a few lines below in dev_set_name(domain->power_dev, ...);,
> >>> which leads to NULL pointer dereference.
> >>>
> >>> Fixes: 556f5cf9568a ("soc: imx: add i.MX8MP HSIO blk-ctrl")
> >>> Signed-off-by: Marek Vasut <marex@denx.de>
> >>> ---
> >>> Cc: Adam Ford <aford173@gmail.com>
> >>> Cc: Benjamin Gaignard <benjamin.gaignard@collabora.com>
> >>> Cc: Fabio Estevam <festevam@gmail.com>
> >>> Cc: Lucas Stach <l.stach@pengutronix.de>
> >>> Cc: Marco Felsch <m.felsch@pengutronix.de>
> >>> Cc: Marek Vasut <marex@denx.de>
> >>> Cc: NXP Linux Team <linux-imx@nxp.com>
> >>> Cc: Paul Elder <paul.elder@ideasonboard.com>
> >>> Cc: Peng Fan <peng.fan@nxp.com>
> >>> Cc: Pengutronix Kernel Team <kernel@pengutronix.de>
> >>> Cc: Sascha Hauer <s.hauer@pengutronix.de>
> >>> Cc: Shawn Guo <shawnguo@kernel.org>
> >>> To: linux-arm-kernel@lists.infradead.org
> >>> ---
> >>> drivers/soc/imx/imx8mp-blk-ctrl.c | 2 +-
> >>> 1 file changed, 1 insertion(+), 1 deletion(-)
> >>>
> >>> diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
> >>> index b7d4161fcda9c..916bf0b3bc975 100644
> >>> --- a/drivers/soc/imx/imx8mp-blk-ctrl.c
> >>> +++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
> >>> @@ -553,7 +553,7 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev)
> >>>
> >>> domain->power_dev =
> >>> dev_pm_domain_attach_by_name(dev, data->gpc_name);
> >>> - if (IS_ERR(domain->power_dev)) {
> >>> + if (IS_ERR_OR_NULL(domain->power_dev)) {
> >>> dev_err_probe(dev, PTR_ERR(domain->power_dev),
> >>> "failed to attach power domain %s\n",
> >>> data->gpc_name);
> >>
> >> Same problem as with the other patch, you shouldn't use 0 as error
> >> value.
> >
> > This and IIRC Lucas already had a patch to fix.
>
> Seems there is a fix for 8m-blk-ctrl, not 8mp , but the fix would then
> be identical.
I think this might be the patch from Lucas that Marco was referencing:
https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=671618&archive=both&state=*
adam
_______________________________________________
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] 10+ messages in thread
* Re: [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: Fix NULL pointer dereference
2022-12-18 13:29 ` Adam Ford
@ 2022-12-18 16:31 ` Marek Vasut
2022-12-19 9:14 ` Marco Felsch
0 siblings, 1 reply; 10+ messages in thread
From: Marek Vasut @ 2022-12-18 16:31 UTC (permalink / raw)
To: Adam Ford
Cc: Marco Felsch, Sascha Hauer, linux-arm-kernel, Peng Fan,
Benjamin Gaignard, Fabio Estevam, Paul Elder, NXP Linux Team,
Pengutronix Kernel Team, Shawn Guo, Lucas Stach
On 12/18/22 14:29, Adam Ford wrote:
Hi,
>>>>> diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
>>>>> index b7d4161fcda9c..916bf0b3bc975 100644
>>>>> --- a/drivers/soc/imx/imx8mp-blk-ctrl.c
>>>>> +++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
>>>>> @@ -553,7 +553,7 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev)
>>>>>
>>>>> domain->power_dev =
>>>>> dev_pm_domain_attach_by_name(dev, data->gpc_name);
>>>>> - if (IS_ERR(domain->power_dev)) {
>>>>> + if (IS_ERR_OR_NULL(domain->power_dev)) {
>>>>> dev_err_probe(dev, PTR_ERR(domain->power_dev),
>>>>> "failed to attach power domain %s\n",
>>>>> data->gpc_name);
>>>>
>>>> Same problem as with the other patch, you shouldn't use 0 as error
>>>> value.
>>>
>>> This and IIRC Lucas already had a patch to fix.
>>
>> Seems there is a fix for 8m-blk-ctrl, not 8mp , but the fix would then
>> be identical.
>
> I think this might be the patch from Lucas that Marco was referencing:
>
> https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=671618&archive=both&state=*
Since Linux 6.1 does not even boot on i.MX8MP and crashes before even
printing anything on console (unless you use earlycon), it would be good
to apply the 1/3 or "[PATCH] soc: imx: imx8mp-blk-ctrl: Do not set power
domain name" I sent yesterday.
_______________________________________________
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] 10+ messages in thread
* Re: [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: Fix NULL pointer dereference
2022-12-18 16:31 ` Marek Vasut
@ 2022-12-19 9:14 ` Marco Felsch
0 siblings, 0 replies; 10+ messages in thread
From: Marco Felsch @ 2022-12-19 9:14 UTC (permalink / raw)
To: Marek Vasut
Cc: Adam Ford, Sascha Hauer, linux-arm-kernel, Peng Fan,
Benjamin Gaignard, Fabio Estevam, Paul Elder, NXP Linux Team,
Pengutronix Kernel Team, Shawn Guo, Lucas Stach
On 22-12-18, Marek Vasut wrote:
> On 12/18/22 14:29, Adam Ford wrote:
>
> Hi,
>
> > > > > > diff --git a/drivers/soc/imx/imx8mp-blk-ctrl.c b/drivers/soc/imx/imx8mp-blk-ctrl.c
> > > > > > index b7d4161fcda9c..916bf0b3bc975 100644
> > > > > > --- a/drivers/soc/imx/imx8mp-blk-ctrl.c
> > > > > > +++ b/drivers/soc/imx/imx8mp-blk-ctrl.c
> > > > > > @@ -553,7 +553,7 @@ static int imx8mp_blk_ctrl_probe(struct platform_device *pdev)
> > > > > >
> > > > > > domain->power_dev =
> > > > > > dev_pm_domain_attach_by_name(dev, data->gpc_name);
> > > > > > - if (IS_ERR(domain->power_dev)) {
> > > > > > + if (IS_ERR_OR_NULL(domain->power_dev)) {
> > > > > > dev_err_probe(dev, PTR_ERR(domain->power_dev),
> > > > > > "failed to attach power domain %s\n",
> > > > > > data->gpc_name);
> > > > >
> > > > > Same problem as with the other patch, you shouldn't use 0 as error
> > > > > value.
> > > >
> > > > This and IIRC Lucas already had a patch to fix.
> > >
> > > Seems there is a fix for 8m-blk-ctrl, not 8mp , but the fix would then
> > > be identical.
> >
> > I think this might be the patch from Lucas that Marco was referencing:
> >
> > https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=671618&archive=both&state=*
>
> Since Linux 6.1 does not even boot on i.MX8MP and crashes before even
> printing anything on console (unless you use earlycon), it would be good to
> apply the 1/3 or "[PATCH] soc: imx: imx8mp-blk-ctrl: Do not set power domain
> name" I sent yesterday.
Or just pick
https://patchwork.kernel.org/project/linux-arm-kernel/patch/20220826191305.3215706-1-l.stach@pengutronix.de/
which has already Peng's review. Up to the maintainer which he want to
use but we should fix that.
Regards,
Marco
_______________________________________________
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] 10+ messages in thread
end of thread, other threads:[~2022-12-19 9:17 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-15 3:47 [PATCH 1/2] soc: imx: imx8m-blk-ctrl: Fix NULL pointer dereference Marek Vasut
2022-12-15 3:48 ` [PATCH 2/2] soc: imx: imx8mp-blk-ctrl: " Marek Vasut
2022-12-15 6:36 ` Sascha Hauer
2022-12-15 9:04 ` Marco Felsch
2022-12-17 23:26 ` Marek Vasut
2022-12-18 13:29 ` Adam Ford
2022-12-18 16:31 ` Marek Vasut
2022-12-19 9:14 ` Marco Felsch
2022-12-15 6:26 ` [PATCH 1/2] soc: imx: imx8m-blk-ctrl: " Sascha Hauer
2022-12-15 8:59 ` Marco Felsch
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.