[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] x86/hvm: add store and console event channel params to white-list



On 08/05/15 14:59, Paul Durrant wrote:
> My recent patch "use white-lists for HVM param guest accessibility checks"
> (commit 30efda12d63ff536102ed8e580b4c09765683b44) introduced a regression
> when saving and restoring Windows guests running Xen Project PV drivers.
>
> The drivers reset the event channel ABI on resume. This has the effect of
> closing the store and console local event channel ports created by the
> toolstack. The drivers do not currently use the console port but they
> do use the store port and thus, prior to reset, they sample the remote
> domain and port and then re-bind the channel - yielding a new and possibly
> different local port - after reset. They then store the new local port
> value in HVM_PARAM_CONSOLE_EVTCHN. That operation now fails and may
> lead to a crash, if using a debug build of the drivers, or a barely
> functional connection to xentored if not.
>
> This patch adds HVM_PARAM_STORE_EVTCHN and HVM_PARAM_CONSOLE_EVTCHN to
> the guest-settable white-list since either of them can be invalidated
> by an event channel ABI reset and thus the guest may indeed need to
> write new values to them to make them valid again.
>
> Signed-off-by: Paul Durrant <paul.durrant@xxxxxxxxxx>
> Cc: Keir Fraser <keir@xxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

Reviewed-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>

> ---
>  xen/arch/x86/hvm/hvm.c |    2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/xen/arch/x86/hvm/hvm.c b/xen/arch/x86/hvm/hvm.c
> index 371fd33..78b0efb 100644
> --- a/xen/arch/x86/hvm/hvm.c
> +++ b/xen/arch/x86/hvm/hvm.c
> @@ -5632,6 +5632,8 @@ static int hvm_allow_set_param(struct domain *d,
>      case HVM_PARAM_VM86_TSS:
>      case HVM_PARAM_ACPI_IOPORTS_LOCATION:
>      case HVM_PARAM_VM_GENERATION_ID_ADDR:
> +    case HVM_PARAM_STORE_EVTCHN:
> +    case HVM_PARAM_CONSOLE_EVTCHN:
>          break;
>      /*
>       * The following parameters must not be set by the guest


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.