diff options
| author | Hong-Mei Li <a21834@motorola.com> | 2015-03-20 18:05:10 -0700 |
|---|---|---|
| committer | Mister Oyster <oysterized@gmail.com> | 2017-04-17 11:51:36 +0200 |
| commit | 5b6c8937233e2945a5fe70152ace3b7e0a8d804b (patch) | |
| tree | 750a861ee25f9b0da05dd1e355ae9a9f0c8b1732 /kernel | |
| parent | bcc91adb7f16e2a24a5a4c676b03e9c061c0f539 (diff) | |
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: I26098ca3350f111e94567f9e65ec3dce413197aa
Signed-off-by: Hong-Mei Li <a21834@motorola.com>
Reviewed-on: http://gerrit.mot.com/727760
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver <sltawvr@motorola.com>
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.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index 06b92b187..655a77cde 100644 --- a/kernel/fork.c +++ b/kernel/fork.c @@ -368,6 +368,9 @@ static struct task_struct *dup_task_struct(struct task_struct *orig) account_kernel_stack(ti, 1); +#ifdef CONFIG_ANDROID_LMK_ADJ_RBTREE + RB_CLEAR_NODE(&tsk->adj_node); +#endif return tsk; free_ti: |
