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!