On Fri, Apr 03, 2026 at 12:06:11PM -0700, Jork Loeser wrote: > Register the mshv reboot notifier for all parent partitions, not just > root. Previously the notifier was gated on hv_root_partition(), so on > L1VH (where hv_root_partition() is false) SINT0, SINT5, and SIRBP were > never cleaned up before kexec. The kexec'd kernel then inherited stale > unmasked SINTs and an enabled SIRBP pointing to freed memory. > > The L1VH SIRBP also needs special handling: unlike the root partition > where the hypervisor provides the SIRBP page, L1VH must allocate its > own page and program the GPA into the MSR. Add this allocation to > mshv_synic_init() and the corresponding free to mshv_synic_cleanup(). > > Remove the unnecessary mshv_root_partition_init/exit wrappers and > register the reboot notifier directly in mshv_parent_partition_init(). > Make mshv_reboot_nb static since it no longer needs external linkage. > > Signed-off-by: Jork Loeser <[email protected]> > --- > drivers/hv/mshv_root_main.c | 21 ++++----------------- > 1 file changed, 4 insertions(+), 17 deletions(-) > > diff --git a/drivers/hv/mshv_root_main.c b/drivers/hv/mshv_root_main.c > index e6509c980763..281f530b68a9 100644 > --- a/drivers/hv/mshv_root_main.c > +++ b/drivers/hv/mshv_root_main.c > @@ -2256,20 +2256,10 @@ static int mshv_reboot_notify(struct notifier_block > *nb, > return 0; > } > > -struct notifier_block mshv_reboot_nb = {
I believe this code has moved to mshv_synic.c in hyperv-fixes. So, this probably won't apply. Thanks, Anirudh.

