diff options
author | Frederic Weisbecker <[email protected]> | 2015-09-04 15:45:00 -0700 |
---|---|---|
committer | Linus Torvalds <[email protected]> | 2015-09-04 16:54:41 -0700 |
commit | 5869b5064b0950afc447610c0f5d4134b71d9e94 (patch) | |
tree | c2322eaf65bb956b063dd2712caab6b2347db169 | |
parent | a068acf2ee77693e0bf39d6e07139ba704f461c3 (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.c | 1 |
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); |