ANDROID: sched/pause: migrate_tasks crash
With DEQUEUE_SAVE and ENQUEUE_RESTORE set when calling deactivate_task
and activate_task, the rt class scheduler will not dequeue/enqueue
the task respectively - move_entity() returns false. This results in
the same task being picked multiple times by __pick_migrate_task,
which results in the same task getting a second initialization of
next->percpu_kthread_node, corrupting the list and causing a crash
with __list_add_valid.
Remove DEQUEUE_SAVE and ENQUEUE_RESTORE when holding back kthreads from
being migrated, for the calls to activate/deactivate task,
preventing the crash.
Bug: 180893027
Change-Id: I3171c26a4f9415287feb5acfe933b4442ca05937
Signed-off-by:
Stephen Dickey <dickey@codeaurora.org>
Loading
Please register or sign in to comment