Thread (5 messages) 5 messages, 3 authors, 2014-10-21

Re: [PATCH 2/5] vfio: introduce the VFIO_DMA_MAP_FLAG_NOEXEC flag

From: Antonios Motakis <hidden>
Date: 2014-10-21 12:18:11
Also in: kvm, linux-iommu, lkml

On Mon, Oct 20, 2014 at 11:29 PM, Alex Williamson
[off-list ref] wrote:
On Mon, 2014-10-13 at 15:09 +0200, Antonios Motakis wrote:
quoted
We introduce the VFIO_DMA_MAP_FLAG_NOEXEC flag to the VFIO dma map call,
and expose its availability via the capability VFIO_DMA_NOEXEC_IOMMU.
This way the user can control whether the XN flag will be set on the
requested mappings. The IOMMU_NOEXEC flag needs to be available for all
the IOMMUs of the container used.

Signed-off-by: Antonios Motakis <redacted>
---
 include/uapi/linux/vfio.h | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h
index 6612974..111b5e8 100644
--- a/include/uapi/linux/vfio.h
+++ b/include/uapi/linux/vfio.h
@@ -29,6 +29,7 @@
  * capability is subject to change as groups are added or removed.
  */
 #define VFIO_DMA_CC_IOMMU            4
+#define VFIO_DMA_NOEXEC_IOMMU                5

 /* Check if EEH is supported */
 #define VFIO_EEH                     5
                                    ^^
5 is still already used.  Feel free to convert to enum so we stop making
this mistake.
Oops :) will do.
quoted
@@ -401,6 +402,7 @@ struct vfio_iommu_type1_dma_map {
      __u32   flags;
 #define VFIO_DMA_MAP_FLAG_READ (1 << 0)              /* readable from device */
 #define VFIO_DMA_MAP_FLAG_WRITE (1 << 1)     /* writable from device */
+#define VFIO_DMA_MAP_FLAG_NOEXEC (1 << 2)    /* not executable from device */
      __u64   vaddr;                          /* Process virtual address */
      __u64   iova;                           /* IO virtual address */
      __u64   size;                           /* Size of mapping (bytes) */


-- 
Antonios Motakis
Virtual Open Systems
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help