[PATCH] kernel/workqueue.c: better to free related resources whenfailure occurs in wq_numa_init()

From: Chen Gang
Date: Tue May 14 2013 - 08:26:15 EST



When NUMA node mapping not available for one cpu, need disabling NUMA
support and proceed.

Also better to release unused resources (the original code can not
cause issue, only waste some memory).


Signed-off-by: Chen Gang <gang.chen@xxxxxxxxxxx>
---
kernel/workqueue.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/kernel/workqueue.c b/kernel/workqueue.c
index 1ae6028..a763079 100644
--- a/kernel/workqueue.c
+++ b/kernel/workqueue.c
@@ -4911,6 +4911,9 @@ static void __init wq_numa_init(void)
if (WARN_ON(node == NUMA_NO_NODE)) {
pr_warn("workqueue: NUMA node mapping not available for cpu%d, disabling NUMA support\n", cpu);
/* happens iff arch is bonkers, let's just proceed */
+ for_each_node(node)
+ free_cpumask_var(tbl[node]);
+ kfree(tbl);
return;
}
cpumask_set_cpu(cpu, tbl[node]);
--
1.7.11.7
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/