diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2016-10-25 18:31:05 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-10-25 18:31:05 -0700 |
commit | 4fc7d493eba7d7cbfda21dd790a7a95828872592 (patch) | |
tree | c62e5c686c70f835c555a24509e24fef23582f4d | |
parent | 9f8e4e930a876f35026227b7849f6da27bde8703 (diff) | |
parent | 5c647926d044993f9ded013d4531a373e6fcbc1e (diff) |
Merge "sched: Set curr/prev_window_cpu pointers to NULL in sched_exit()"
-rw-r--r-- | kernel/sched/core.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/sched/core.c b/kernel/sched/core.c index 53f7b50b7541..c07d844c576e 100644 --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -2273,6 +2273,14 @@ void sched_exit(struct task_struct *p) kfree(p->ravg.curr_window_cpu); kfree(p->ravg.prev_window_cpu); + /* + * update_task_ravg() can be called for exiting tasks. While the + * function itself ensures correct behavior, the corresponding + * trace event requires that these pointers be NULL. + */ + p->ravg.curr_window_cpu = NULL; + p->ravg.prev_window_cpu = NULL; + enqueue_task(rq, p, 0); clear_ed_task(p, rq); task_rq_unlock(rq, p, &flags); |