From: Tianyu Lan <tianyu....@microsoft.com>

UIO HV driver should not load in the isolation VM for security reason.
Return ENOTSUPP in the hv_uio_probe() in the isolation VM.

Signed-off-by: Tianyu Lan <tianyu....@microsoft.com>
---
 drivers/uio/uio_hv_generic.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/uio/uio_hv_generic.c b/drivers/uio/uio_hv_generic.c
index 0330ba99730e..678b021d66f8 100644
--- a/drivers/uio/uio_hv_generic.c
+++ b/drivers/uio/uio_hv_generic.c
@@ -29,6 +29,7 @@
 #include <linux/hyperv.h>
 #include <linux/vmalloc.h>
 #include <linux/slab.h>
+#include <asm/mshyperv.h>
 
 #include "../hv/hyperv_vmbus.h"
 
@@ -241,6 +242,10 @@ hv_uio_probe(struct hv_device *dev,
        void *ring_buffer;
        int ret;
 
+       /* UIO driver should not be loaded in the isolation VM.*/
+       if (hv_is_isolation_supported())
+               return -ENOTSUPP;
+               
        /* Communicating with host has to be via shared memory not hypercall */
        if (!channel->offermsg.monitor_allocated) {
                dev_err(&dev->device, "vmbus channel requires hypercall\n");
-- 
2.25.1

Reply via email to