Thread (5 messages) 5 messages, 2 authors, 2020-01-30

Re: [PATCH] drivers/firmware/psci: Fix memory leak in alloc_init_cpu_groups()

From: Gavin Shan <hidden>
Date: 2020-01-30 21:42:06

On 1/30/20 10:05 PM, Sudeep Holla wrote:
On Thu, Jan 30, 2020 at 03:00:13PM +1100, Gavin Shan wrote:
quoted
On 1/30/20 2:49 PM, Gavin Shan wrote:
quoted
The CPU mask (@tmp) should be free'd on failing to allocating the element
of @cpu_groups[]. Otherwise, it leads to memory leakage because the CPU
mask variable is allocated with CONFIG_CPUMASK_OFFSTACK.

Signed-off-by: Gavin Shan <redacted>
---
   drivers/firmware/psci/psci_checker.c | 1 +
   1 file changed, 1 insertion(+)
diff --git a/drivers/firmware/psci/psci_checker.c b/drivers/firmware/psci/psci_checker.c
index 6a445397771c..d1d6d1135fed 100644
--- a/drivers/firmware/psci/psci_checker.c
+++ b/drivers/firmware/psci/psci_checker.c
@@ -167,6 +167,7 @@ static int alloc_init_cpu_groups(cpumask_var_t **pcpu_groups)
   			topology_core_cpumask(cpumask_any(tmp));
   		if (!alloc_cpumask_var(&cpu_groups[num_groups], GFP_KERNEL)) {
+			free_cpumask_var(tmp);
   			free_cpu_groups(num_groups, &cpu_groups);
   			return -ENOMEM;
   		}
I think @tmp has to be free'd either when failing to allocate @cpu_groups.
However, I'm holding to post v2 until feedback is received on v1.
Ah sorry, problem with sequential mail reading, ignore my reply as you have
already figured this out.
Sudeep, no problem. I'll fold the additional changes into v2. Thanks for your
time on this.

Thanks,
Gavin


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help