On Mon, Apr 27, 2026 at 02:38:53PM -0700, Jork Loeser wrote: > The reboot notifier that tears down the SynIC cpuhp state guards the > cleanup with hv_root_partition(), so on L1VH (where > hv_root_partition() is false) SINT0, SINT5, and SIRBP are never > cleaned up before kexec. The kexec'd kernel then inherits stale > unmasked SINTs and an enabled SIRBP pointing to freed memory. > > Remove the hv_root_partition() guard so the cleanup runs for all > parent partitions. > > Signed-off-by: Jork Loeser <[email protected]> > --- > drivers/hv/mshv_synic.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/drivers/hv/mshv_synic.c b/drivers/hv/mshv_synic.c > index 2db3b0192eac..978a1cace341 100644 > --- a/drivers/hv/mshv_synic.c > +++ b/drivers/hv/mshv_synic.c > @@ -723,9 +723,6 @@ mshv_unregister_doorbell(u64 partition_id, int > doorbell_portid) > static int mshv_synic_reboot_notify(struct notifier_block *nb, > unsigned long code, void *unused) > { > - if (!hv_root_partition()) > - return 0; > - > cpuhp_remove_state(synic_cpuhp_online); > return 0; > } > -- > 2.43.0 >
Reviewed-by: Anirudh Rayabharam (Microsoft) <[email protected]>

