summaryrefslogtreecommitdiff
path: root/kernel/fork.c
diff options
context:
space:
mode:
authorSyed Rameez Mustafa <rameezmustafa@codeaurora.org>2016-11-03 18:13:08 -0700
committerSyed Rameez Mustafa <rameezmustafa@codeaurora.org>2016-11-07 14:46:22 -0800
commitb9b63b0c622a0a1fb4ad6475908910a45b6520b2 (patch)
tree337a4fcad47ae72cd52076e4a125525037cad9d6 /kernel/fork.c
parent576259be4abfbd8f7bee476b48c3ce2eee05cfb4 (diff)
sched/hmp: Fix memory leak when task fork fails
The scheduler allocates memory for the task load structures during fork. It then relies to sched_exit() to be called to free that memory. However, if the fork itself fails at any point after the allocation, the memory is left unclaimed forever. Fix this memory leak by freeing the allocated memory under error conditions. Change-Id: I14a8290c9fcc4174ec80560e9f9d7bcdb119761f Signed-off-by: Syed Rameez Mustafa <rameezmustafa@codeaurora.org>
Diffstat (limited to '')
-rw-r--r--kernel/fork.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index 8a5962276788..a46ce4505066 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -1654,6 +1654,7 @@ bad_fork_cleanup_audit:
bad_fork_cleanup_perf:
perf_event_free_task(p);
bad_fork_cleanup_policy:
+ free_task_load_ptrs(p);
#ifdef CONFIG_NUMA
mpol_put(p->mempolicy);
bad_fork_cleanup_threadgroup_lock: