On 01.11.2023 20:20, Andrew Cooper wrote:
> --- a/xen/arch/x86/hvm/vmx/vmx.c
> +++ b/xen/arch/x86/hvm/vmx/vmx.c
> @@ -4097,10 +4097,6 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>      case EXIT_REASON_MCE_DURING_VMENTRY:
>          do_machine_check(regs);
>          break;
> -
> -    case EXIT_REASON_INIT:
> -        printk(XENLOG_ERR "Error: INIT received - ignoring\n");
> -        return; /* Renter the guest without further processing */
>      }

Wouldn't the printk() better remain where it was, and just the "return" be
purged? Otherwise between here and ...

> @@ -4390,6 +4386,12 @@ void vmx_vmexit_handler(struct cpu_user_regs *regs)
>      case EXIT_REASON_TRIPLE_FAULT:
>          hvm_triple_fault();
>          break;
> +
> +    case EXIT_REASON_INIT:
> +        /* TODO: Turn into graceful shutdown. */
> +        printk(XENLOG_ERR "Error: INIT received - ignoring\n");
> +        break;

... here there are various paths which bypass the main switch(), and hence
there would be no trace left of the unexpected INIT in certain cases.

Jan

Reply via email to