+0
−1
Loading
vmbus_alloc_synic_and_connect() declares a local 'int hyperv_cpuhp_online' that shadows the file-scope global of the same name. The cpuhp state returned by cpuhp_setup_state() is stored in the local, leaving the global at 0 (CPUHP_OFFLINE). When hv_kexec_handler() or hv_machine_shutdown() later call cpuhp_remove_state(hyperv_cpuhp_online) they pass 0, which hits the BUG_ON in __cpuhp_remove_state_cpuslocked(). Remove the local declaration so the cpuhp state is stored in the file-scope global where hv_kexec_handler() and hv_machine_shutdown() expect it. Fixes: 2647c966 ("Drivers: hv: Support establishing the confidential VMBus connection") Signed-off-by:Jork Loeser <jloeser@linux.microsoft.com> Reviewed-by:
Stanislav Kinsburskii <skinsburskii@linux.microsoft.com> Reviewed-by:
Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com> Signed-off-by:
Wei Liu <wei.liu@kernel.org>