2012-06-02 17:04:44

by devendra.aaru

[permalink] [raw]
Subject: [PATCH 2/2] pinctrl: free if of_get_parent fails to get the parent node

of_get_parent can return null if no parent node found, so the allocated new_map
should be freed.

Signed-off-by: Devendra Naga <[email protected]>
---
drivers/pinctrl/pinctrl-imx.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/pinctrl/pinctrl-imx.c b/drivers/pinctrl/pinctrl-imx.c
index 553ed95..82c1d80 100644
--- a/drivers/pinctrl/pinctrl-imx.c
+++ b/drivers/pinctrl/pinctrl-imx.c
@@ -173,8 +173,10 @@ static int imx_dt_node_to_map(struct pinctrl_dev *pctldev,

/* create mux map */
parent = of_get_parent(np);
- if (!parent)
+ if (!parent) {
+ kfree(new_map);
return -EINVAL;
+ }
new_map[0].type = PIN_MAP_TYPE_MUX_GROUP;
new_map[0].data.mux.function = parent->name;
new_map[0].data.mux.group = np->name;
--
1.7.9.5


2012-06-07 11:00:45

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH 2/2] pinctrl: free if of_get_parent fails to get the parent node

On Sat, Jun 2, 2012 at 7:04 PM, Devendra Naga <[email protected]> wrote:

> of_get_parent can return null if no parent node found, so the allocated new_map
> should be freed.
>
> Signed-off-by: Devendra Naga <[email protected]>
> ---
> ?drivers/pinctrl/pinctrl-imx.c | ? ?4 +++-
> ?1 file changed, 3 insertions(+), 1 deletion(-)

Shawn/Dong can you ACK/NACK this patch so I can apply it to
pinctrl? Alternatively you can push it through the i.MX tree if
need be, Acked-by: Linus Walleij <[email protected]>

Yours,
Linus Walleij

2012-06-07 12:09:44

by Dong Aisheng

[permalink] [raw]
Subject: Re: [PATCH 2/2] pinctrl: free if of_get_parent fails to get the parent node

On Sat, Jun 02, 2012 at 10:34:37PM +0530, Devendra Naga wrote:
> of_get_parent can return null if no parent node found, so the allocated new_map
> should be freed.
>
> Signed-off-by: Devendra Naga <[email protected]>
> ---
> drivers/pinctrl/pinctrl-imx.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
Thanks for fixing.

Acked-by: Dong Aisheng <[email protected]>

Regards
Dong Aisheng

> diff --git a/drivers/pinctrl/pinctrl-imx.c b/drivers/pinctrl/pinctrl-imx.c
> index 553ed95..82c1d80 100644
> --- a/drivers/pinctrl/pinctrl-imx.c
> +++ b/drivers/pinctrl/pinctrl-imx.c
> @@ -173,8 +173,10 @@ static int imx_dt_node_to_map(struct pinctrl_dev *pctldev,
>
> /* create mux map */
> parent = of_get_parent(np);
> - if (!parent)
> + if (!parent) {
> + kfree(new_map);
> return -EINVAL;
> + }
> new_map[0].type = PIN_MAP_TYPE_MUX_GROUP;
> new_map[0].data.mux.function = parent->name;
> new_map[0].data.mux.group = np->name;
> --
> 1.7.9.5
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>