aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorHong-Mei Li <a21834@motorola.com>2015-03-12 19:14:26 -0700
committerSimon Shields <keepcalm444@gmail.com>2016-06-13 14:47:40 +1000
commitca7c9fad094f4413dcb2ce65d6d4983201295536 (patch)
tree6f9b883e3f06f1b44e9eb2fd380286e2f5454b7a /kernel
parent2ed1b46030d9062ac9dc12ffef3beb3ece44d1a0 (diff)
downloadkernel_samsung_smdk4412-ca7c9fad094f4413dcb2ce65d6d4983201295536.tar.gz
kernel_samsung_smdk4412-ca7c9fad094f4413dcb2ce65d6d4983201295536.tar.bz2
kernel_samsung_smdk4412-ca7c9fad094f4413dcb2ce65d6d4983201295536.zip
drivers:lmk: Fix double delete issue
someone may change a process's oom_score_adj by proc fs, even though the process has exited. In that case, the task was deleted from the rb tree already, and the redundant deleting would trigger rb_erase panic finally. In this patch, we make sure to clear the node after deteting and check its empty status before rb_erase. Change-Id: I7628c7d21011099e796b7d366cbc142f96bb8aab Signed-off-by: Hong-Mei Li <a21834@motorola.com> Reviewed-on: http://gerrit.mot.com/725306 SLTApproved: Slta Waiver <sltawvr@motorola.com> SME-Granted: SME Approvals Granted Tested-by: Jira Key <jirakey@motorola.com> Reviewed-by: Sheng-Zhe Zhao <a18689@motorola.com> Submit-Approved: Jira Key <jirakey@motorola.com>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/fork.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c
index c1760e6d917..ba7e2bc4f11 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -317,6 +317,8 @@ static struct task_struct *dup_task_struct(struct task_struct *orig)
account_kernel_stack(ti, 1);
+ RB_CLEAR_NODE(&tsk->adj_node);
+
return tsk;
out: