On 09.04.20 11:41, Sergey Dyasli wrote:
In core-scheduling mode, Xen might crash when entering ACPI S5 state.
This happens in sched_slave() during is_idle_unit(next) check because
next->vcpu_list is stale and points to an already freed memory.
This situation happens shortly after scheduler_disable() is called if
some CPU is still inside sched_slave() softirq. Current logic simply
returns prev->next_task from sched_wait_rendezvous_in() which causes
the described crash because next_task->vcpu_list has become invalid.
Fix the crash by returning NULL from sched_wait_rendezvous_in() in
the case when scheduler_disable() has been called.
Signed-off-by: Sergey Dyasli <sergey.dya...@citrix.com>
Good catch!
Have you seen any further problems (e.g. with cpu on/offlining) with
this patch applied?
Reviewed-by: Juergen Gross <jgr...@suse.com>
Juergen