aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederic Weisbecker <[email protected]>2015-09-04 15:45:00 -0700
committerLinus Torvalds <[email protected]>2015-09-04 16:54:41 -0700
commit5869b5064b0950afc447610c0f5d4134b71d9e94 (patch)
treec2322eaf65bb956b063dd2712caab6b2347db169
parenta068acf2ee77693e0bf39d6e07139ba704f461c3 (diff)
smpboot: fix memory leak on error handling
The cpumask is allocated before threads get created. If the latter step fails, we need to free the cpumask. Signed-off-by: Frederic Weisbecker <[email protected]> Reviewed-by: Chris Metcalf <[email protected]> Reviewed-by: Thomas Gleixner <[email protected]> Cc: Chris Metcalf <[email protected]> Cc: Don Zickus <[email protected]> Cc: Peter Zijlstra <[email protected]> Cc: Ulrich Obergfell <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
-rw-r--r--kernel/smpboot.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/smpboot.c b/kernel/smpboot.c
index 7c434c39f02a..71aa90b69f8f 100644
--- a/kernel/smpboot.c
+++ b/kernel/smpboot.c
@@ -301,6 +301,7 @@ int smpboot_register_percpu_thread(struct smp_hotplug_thread *plug_thread)
ret = __smpboot_create_thread(plug_thread, cpu);
if (ret) {
smpboot_destroy_threads(plug_thread);
+ free_cpumask_var(plug_thread->cpumask);
goto out;
}
smpboot_unpark_thread(plug_thread, cpu);