2021-10-29 03:20:41

by He Ying

[permalink] [raw]
Subject: [PATCH] fsl_hypervisor: Add missing of_node_put in fsl_hypervisor_init

Early exits from for_each_compatible_node() should decrement the
node reference counter.

Signed-off-by: He Ying <[email protected]>
Fixes: 6db7199407ca ("drivers/virt: introduce Freescale hypervisor management driver")
---
drivers/virt/fsl_hypervisor.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/virt/fsl_hypervisor.c b/drivers/virt/fsl_hypervisor.c
index 46ee0a0998b6..ef5fcca4b8f0 100644
--- a/drivers/virt/fsl_hypervisor.c
+++ b/drivers/virt/fsl_hypervisor.c
@@ -849,8 +849,10 @@ static int __init fsl_hypervisor_init(void)
}

dbisr = kzalloc(sizeof(*dbisr), GFP_KERNEL);
- if (!dbisr)
+ if (!dbisr) {
+ of_node_put(np);
goto out_of_memory;
+ }

dbisr->irq = irq;
dbisr->doorbell = be32_to_cpup(handle);
--
2.17.1


2021-11-09 11:43:40

by He Ying

[permalink] [raw]
Subject: Re: [PATCH] fsl_hypervisor: Add missing of_node_put in fsl_hypervisor_init

kindly ping...

?? 2021/10/29 11:20, He Ying ะด??:
> Early exits from for_each_compatible_node() should decrement the
> node reference counter.
>
> Signed-off-by: He Ying <[email protected]>
> Fixes: 6db7199407ca ("drivers/virt: introduce Freescale hypervisor management driver")
> ---
> drivers/virt/fsl_hypervisor.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/virt/fsl_hypervisor.c b/drivers/virt/fsl_hypervisor.c
> index 46ee0a0998b6..ef5fcca4b8f0 100644
> --- a/drivers/virt/fsl_hypervisor.c
> +++ b/drivers/virt/fsl_hypervisor.c
> @@ -849,8 +849,10 @@ static int __init fsl_hypervisor_init(void)
> }
>
> dbisr = kzalloc(sizeof(*dbisr), GFP_KERNEL);
> - if (!dbisr)
> + if (!dbisr) {
> + of_node_put(np);
> goto out_of_memory;
> + }
>
> dbisr->irq = irq;
> dbisr->doorbell = be32_to_cpup(handle);