diff options
author | Paul Durrant <paul.durrant@citrix.com> | 2017-02-13 17:03:23 +0000 |
---|---|---|
committer | Boris Ostrovsky <boris.ostrovsky@oracle.com> | 2017-02-14 15:13:43 -0500 |
commit | ab520be8cd5d56867fc95cfbc34b90880faf1f9d (patch) | |
tree | 4c432a918ffbd6308f752eaac36b322b811582b1 /include/xen/arm | |
parent | dc9eab6fd94dd26340749321bba2c58634761516 (diff) | |
download | linux-stable-ab520be8cd5d56867fc95cfbc34b90880faf1f9d.tar.gz linux-stable-ab520be8cd5d56867fc95cfbc34b90880faf1f9d.tar.bz2 linux-stable-ab520be8cd5d56867fc95cfbc34b90880faf1f9d.zip |
xen/privcmd: Add IOCTL_PRIVCMD_DM_OP
Recently a new dm_op[1] hypercall was added to Xen to provide a mechanism
for restricting device emulators (such as QEMU) to a limited set of
hypervisor operations, and being able to audit those operations in the
kernel of the domain in which they run.
This patch adds IOCTL_PRIVCMD_DM_OP as gateway for __HYPERVISOR_dm_op.
NOTE: There is no requirement for user-space code to bounce data through
locked memory buffers (as with IOCTL_PRIVCMD_HYPERCALL) since
privcmd has enough information to lock the original buffers
directly.
[1] http://xenbits.xen.org/gitweb/?p=xen.git;a=commit;h=524a98c2
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Acked-by: Stefano Stabellini <sstabellini@kernel.org>
Signed-off-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Diffstat (limited to 'include/xen/arm')
-rw-r--r-- | include/xen/arm/hypercall.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/xen/arm/hypercall.h b/include/xen/arm/hypercall.h index 9d874db13c0e..73db4b2eeb89 100644 --- a/include/xen/arm/hypercall.h +++ b/include/xen/arm/hypercall.h @@ -53,6 +53,7 @@ int HYPERVISOR_physdev_op(int cmd, void *arg); int HYPERVISOR_vcpu_op(int cmd, int vcpuid, void *extra_args); int HYPERVISOR_tmem_op(void *arg); int HYPERVISOR_vm_assist(unsigned int cmd, unsigned int type); +int HYPERVISOR_dm_op(domid_t domid, unsigned int nr_bufs, void *bufs); int HYPERVISOR_platform_op_raw(void *arg); static inline int HYPERVISOR_platform_op(struct xen_platform_op *op) { |