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