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

Re: [Xen-devel] [PATCH v4] x86/hvm: Allow guest_request vm_events coming from userspace





On Sat, Aug 5, 2017 at 2:18 AM, Razvan Cojocaru <rcojocaru@xxxxxxxxxxxxxxx> wrote:
On 08/05/2017 04:32 AM, Tamas K Lengyel wrote:
>
>
> On Fri, Aug 4, 2017 at 5:32 AM, Alexandru Isaila
> <aisaila@xxxxxxxxxxxxxxx <mailto:aisaila@bitdefender.com>> wrote:
>
>     In some introspection usecases, an in-guest agent needs to communicate
>     with the external introspection agent.  An existing mechanism is
>     HVMOP_guest_request_vm_event, but this is restricted to kernel usecases
>     like all other hypercalls.
>
>     Introduce a mechanism whereby the introspection agent can whitelist the
>     use of HVMOP_guest_request_vm_event directly from userspace.
>
>     Signed-off-by: Alexandru Isaila <aisaila@xxxxxxxxxxxxxxx
>     <mailto:aisaila@bitdefender.com>>
>
>     ---
>     Changes since V3:
>             - Changed commit message
>             - Added new lines
>             - Indent the maximum space on the defines
>             - Chaned the name of the define/function name/struct member
>               from vmcall to event
>     ---
>      tools/libxc/include/xenctrl.h |  1 +
>      tools/libxc/xc_monitor.c      | 14 ++++++++++++++
>      xen/arch/x86/hvm/hypercall.c  |  5 +++++
>      xen/common/monitor.c          | 14 ++++++++++++++
>      xen/include/public/domctl.h   | 21 +++++++++++----------
>      xen/include/xen/sched.h       |  5 +++--
>      6 files changed, 48 insertions(+), 12 deletions(-)
>
>     diff --git a/tools/libxc/include/xenctrl.h
>     b/tools/libxc/include/xenctrl.h
>     index bde8313..90a056f 100644
>     --- a/tools/libxc/include/xenctrl.h
>     +++ b/tools/libxc/include/xenctrl.h
>     @@ -2022,6 +2022,7 @@ int xc_monitor_descriptor_access(xc_interface
>     *xch, domid_t domain_id,
>                                       bool enable);
>      int xc_monitor_guest_request(xc_interface *xch, domid_t domain_id,
>                                   bool enable, bool sync);
>     +int xc_allow_guest_userspace_event(xc_interface *xch, domid_t
>     domain_id, bool enable);
>      int xc_monitor_debug_exceptions(xc_interface *xch, domid_t domain_id,
>                                      bool enable, bool sync);
>      int xc_monitor_cpuid(xc_interface *xch, domid_t domain_id, bool
>     enable);
>     diff --git a/tools/libxc/xc_monitor.c b/tools/libxc/xc_monitor.c
>     index b44ce93..6064c39 100644
>     --- a/tools/libxc/xc_monitor.c
>     +++ b/tools/libxc/xc_monitor.c
>     @@ -161,6 +161,20 @@ int xc_monitor_guest_request(xc_interface *xch,
>     domid_t domain_id, bool enable,
>          return do_domctl(xch, &domctl);
>      }
>
>     +int xc_allow_guest_userspace_event(xc_interface *xch, domid_t
>     domain_id, bool enable)
>
>
> This function should be prefixed with "xc_monitor_" like all the rest of
> the functions here.
That one was my suggestion, as I thought xc_monitor_-prefixed functions
are meant to toggle monitoring somehow, whereas this function only
toggles userspace use of guest request VMCALLs.

So it wasn't exactly clear whether this is just an option on the pre-existing guest request monitor like sync or a completely new, separate monitor option on its own. It looks to me like it is a separate option so let's treat it as such.

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

 


Rackspace

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