On 10.09.2024 12:09, Federico Serafini wrote: > --- a/xen/drivers/vpci/msix.c > +++ b/xen/drivers/vpci/msix.c > @@ -364,6 +364,8 @@ static int adjacent_read(const struct domain *d, const > struct vpci_msix *msix, > > default: > ASSERT_UNREACHABLE(); > + spin_unlock(&vpci->lock); > + return X86EMUL_UNHANDLEABLE; > } > spin_unlock(&vpci->lock); > > @@ -512,6 +514,8 @@ static int adjacent_write(const struct domain *d, const > struct vpci_msix *msix, > > default: > ASSERT_UNREACHABLE(); > + spin_unlock(&vpci->lock); > + return X86EMUL_UNHANDLEABLE; > } > spin_unlock(&vpci->lock);
Both functions only ever return X86EMUL_OKAY right now. I expect your change wants to be simple "break" insertions, yet I wonder why these functions aren't returning void then. Jan