diff options
| author | Linux Build Service Account <lnxbuild@localhost> | 2018-05-03 11:23:20 -0700 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-05-03 11:23:20 -0700 |
| commit | ea40a6c52145405785ce3f54e4cfb7f2df75af90 (patch) | |
| tree | ea64ffecaae8eee4e0ecd270c22b80f4c45c7783 /kernel | |
| parent | cebf59e49427f15f2dd8758a4039c37ff886ebce (diff) | |
| parent | c6a5b958e655d6d23bdede8103876d5ffe1c56b6 (diff) | |
Merge "sched/walt: Fix use after free in trace_sched_update_task_ravg()"
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/sched/hmp.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/sched/hmp.c b/kernel/sched/hmp.c index ea066ab8376b..d9f0669ff683 100644 --- a/kernel/sched/hmp.c +++ b/kernel/sched/hmp.c @@ -1,4 +1,4 @@ -/* Copyright (c) 2012-2017, The Linux Foundation. All rights reserved. +/* Copyright (c) 2012-2018, The Linux Foundation. All rights reserved. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License version 2 and @@ -2881,11 +2881,15 @@ void update_task_ravg(struct task_struct *p, struct rq *rq, int event, update_task_burst(p, rq, event, runtime); update_cpu_busy_time(p, rq, event, wallclock, irqtime); update_task_pred_demand(rq, p, event); -done: + + if (exiting_task(p)) + goto done; + trace_sched_update_task_ravg(p, rq, event, wallclock, irqtime, rq->cc.cycles, rq->cc.time, p->grp ? &rq->grp_time : NULL); +done: p->ravg.mark_start = wallclock; } |
