Ensure that the cgroup attachment is only applied to a task that has been initialized by WALT. If an uninitialized task is added to the cgroup, it could lead to grp->tasks being corrupted once the task is initialized. Take the situation where cgroup_attach is happening on a task that has not yet woken up, and the task is being attached to top-app cgroup. In the present scenario, such a task would be added to grp->tasks list. Then, when the task is woken up for the first time, WALT initialization would INIT_LIST_HEAD(wts->grp_list), which is normally ok, but for a task that has already inserted in linked list headed by grp->tasks, it ends up corrupting the list. Change-Id: Ic94b62cb15f4747576b76b7bdac867dcf9c47741 Signed-off-by: Shaleen Agrawal <quic_shalagra@quicinc.com> |
||
|---|---|---|
| .. | ||
| walt | ||
| android.h | ||
| autogroup.c | ||
| autogroup.h | ||
| build_policy.c | ||
| build_utility.c | ||
| clock.c | ||
| completion.c | ||
| core.c | ||
| core_sched.c | ||
| cpuacct.c | ||
| cpudeadline.c | ||
| cpudeadline.h | ||
| cpufreq.c | ||
| cpufreq_schedutil.c | ||
| cpupri.c | ||
| cpupri.h | ||
| cputime.c | ||
| deadline.c | ||
| debug.c | ||
| fair.c | ||
| features.h | ||
| idle.c | ||
| isolation.c | ||
| loadavg.c | ||
| Makefile | ||
| membarrier.c | ||
| OWNERS | ||
| pelt.c | ||
| pelt.h | ||
| psi.c | ||
| rt.c | ||
| sched-pelt.h | ||
| sched.h | ||
| smp.h | ||
| stats.c | ||
| stats.h | ||
| stop_task.c | ||
| swait.c | ||
| topology.c | ||
| vendor_hooks.c | ||
| wait.c | ||
| wait_bit.c | ||