Messages in this thread | | | Subject | Re: [PATCH v2] xen: avoid crash in disable_hotplug_cpu | From | Boris Ostrovsky <> | Date | Thu, 6 Sep 2018 18:53:40 -0400 |
| |
On 09/06/2018 04:31 PM, Olaf Hering wrote: > Am Thu, 6 Sep 2018 14:45:57 -0400 > schrieb Boris Ostrovsky <boris.ostrovsky@oracle.com>: > >> On 09/06/2018 02:37 AM, Olaf Hering wrote: >>> The command 'xl vcpu-set 0 0', issued in dom0, will crash dom0: >>> This happens because handle_vcpu_hotplug_event is called twice. In the >>> first iteration cpu_present is still true, in the second iteration >>> cpu_present is false which causes get_cpu_device to return NULL. >>> In case of cpu#0, cpu_online is apparently always true. >> I think we should check both this and num_online_cpus() != 0. > This can not possibly help. cpu#0 is the first one that goes offline. > IF cpu0_hotpluggable is broken, then only "if (!cpu) return;" can help.
And maybe that needs to be part of the check, in addition to cpu_is_hotpluggable() test.
Offlining CPU0 is problematic. For example, look at xen_pv_cpu_disable().
-boris
[unhandled content-type:application/pgp-signature] | |