irqchip/wpcm450: fix memory leak in ap_init_qci_info()

Message ID 20221114110854.554220-1-weiyongjun@huaweicloud.com
State New
Headers
Series irqchip/wpcm450: fix memory leak in ap_init_qci_info() |

Commit Message

Wei Yongjun Nov. 14, 2022, 11:08 a.m. UTC
  From: Wei Yongjun <weiyongjun1@huawei.com>

If of_iomap() failed, 'aic' should be freed before return. Otherwise
there is a memory leak.

Fixes: fead4dd49663 ("irqchip: Add driver for WPCM450 interrupt controller")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
---
 drivers/irqchip/irq-wpcm450-aic.c | 1 +
 1 file changed, 1 insertion(+)
  

Comments

Jonathan Neuschäfer Nov. 15, 2022, 8:36 a.m. UTC | #1
Hi,

the function name is wrong in the in the subject line. Other than that,
the patch looks good.

Thanks,
Jonathan


On Mon, Nov 14, 2022 at 11:08:54AM +0000, Wei Yongjun wrote:
> From: Wei Yongjun <weiyongjun1@huawei.com>
> 
> If of_iomap() failed, 'aic' should be freed before return. Otherwise
> there is a memory leak.
> 
> Fixes: fead4dd49663 ("irqchip: Add driver for WPCM450 interrupt controller")
> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
> ---
>  drivers/irqchip/irq-wpcm450-aic.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/irqchip/irq-wpcm450-aic.c b/drivers/irqchip/irq-wpcm450-aic.c
> index 0dcbeb1a05a1..91df62a64cd9 100644
> --- a/drivers/irqchip/irq-wpcm450-aic.c
> +++ b/drivers/irqchip/irq-wpcm450-aic.c
> @@ -146,6 +146,7 @@ static int __init wpcm450_aic_of_init(struct device_node *node,
>  	aic->regs = of_iomap(node, 0);
>  	if (!aic->regs) {
>  		pr_err("Failed to map WPCM450 AIC registers\n");
> +		kfree(aic);
>  		return -ENOMEM;
>  	}
>  
> -- 
> 2.34.1
>
  
Wei Yongjun Nov. 15, 2022, 9:10 a.m. UTC | #2
On 2022/11/15 16:36, Jonathan Neuschäfer wrote:
> Hi,
>
> the function name is wrong in the in the subject line. Other than that,
> the patch looks good.


Thanks, will fix in next version.


Regards,

Wei Yongjun


>
> Thanks,
> Jonathan
>
>
> On Mon, Nov 14, 2022 at 11:08:54AM +0000, Wei Yongjun wrote:
>> From: Wei Yongjun <weiyongjun1@huawei.com>
>>
>> If of_iomap() failed, 'aic' should be freed before return. Otherwise
>> there is a memory leak.
>>
>> Fixes: fead4dd49663 ("irqchip: Add driver for WPCM450 interrupt controller")
>> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
>> ---
>>  drivers/irqchip/irq-wpcm450-aic.c | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/irqchip/irq-wpcm450-aic.c b/drivers/irqchip/irq-wpcm450-aic.c
>> index 0dcbeb1a05a1..91df62a64cd9 100644
>> --- a/drivers/irqchip/irq-wpcm450-aic.c
>> +++ b/drivers/irqchip/irq-wpcm450-aic.c
>> @@ -146,6 +146,7 @@ static int __init wpcm450_aic_of_init(struct device_node *node,
>>  	aic->regs = of_iomap(node, 0);
>>  	if (!aic->regs) {
>>  		pr_err("Failed to map WPCM450 AIC registers\n");
>> +		kfree(aic);
>>  		return -ENOMEM;
>>  	}
>>  
>> -- 
>> 2.34.1
>>
  

Patch

diff --git a/drivers/irqchip/irq-wpcm450-aic.c b/drivers/irqchip/irq-wpcm450-aic.c
index 0dcbeb1a05a1..91df62a64cd9 100644
--- a/drivers/irqchip/irq-wpcm450-aic.c
+++ b/drivers/irqchip/irq-wpcm450-aic.c
@@ -146,6 +146,7 @@  static int __init wpcm450_aic_of_init(struct device_node *node,
 	aic->regs = of_iomap(node, 0);
 	if (!aic->regs) {
 		pr_err("Failed to map WPCM450 AIC registers\n");
+		kfree(aic);
 		return -ENOMEM;
 	}