On Sun, Apr 27, 2025 at 03:58:54AM +0000, Michael Kelley wrote:

> Indeed, control never returns from static_call_update(). Prior to
> hyperv_cleanup() running, crash_smp_send_stop() has been called to
> stop all the other CPUs, and it does not update cpu_online_mask to
> reflect the other CPUs being stopped.
> 
> static_call_update() runs this call sequence:
> 
> arch_static_call_transform()
> __static_call_transform()
> smp_text_poke_single()
> smp_text_poke_batch_finish()
> smp_text_poke_sync_each_cpu()
> 
> smp_text_poke_sync_each_cpu() sends an IPI to each CPU in
> cpu_online_mask, and of course the other CPUs never respond, so
> it waits forever.

Fair enough. I'll just remove this final call. Thanks!

Reply via email to