Re: [PATCH v3 2/3] xen/privcmd: Add IOCTL_PRIVCMD_DM_OP

From: Boris Ostrovsky
Date: Mon Feb 13 2017 - 14:12:12 EST

diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c
index 5e5c7ae..a33f17e 100644
--- a/drivers/xen/privcmd.c
+++ b/drivers/xen/privcmd.c
@@ -22,6 +22,7 @@
#include <linux/pagemap.h>
#include <linux/seq_file.h>
#include <linux/miscdevice.h>
+#include <linux/moduleparam.h>

#include <asm/pgalloc.h>
#include <asm/pgtable.h>
@@ -32,6 +33,7 @@
#include <xen/xen.h>
#include <xen/privcmd.h>
#include <xen/interface/xen.h>
+#include <xen/interface/hvm/dm_op.h>
#include <xen/features.h>
#include <xen/page.h>
#include <xen/xen-ops.h>
@@ -43,6 +45,17 @@ MODULE_LICENSE("GPL");

#define PRIV_VMA_LOCKED ((void *)1)

+unsigned int privcmd_dm_op_max_num = 16;
+module_param_named(dm_op_max_nr_bufs, privcmd_dm_op_max_num, uint, 0644);
+ "Maximum number of buffers per dm_op hypercall");
+unsigned int privcmd_dm_op_buf_max_size = XEN_PAGE_SIZE;

These need to be static. (I can fix it when committing.)

And I am still not sure about using XEN_PAGE_SIZE. There is no dependency in the hypervisor on buffers being page-sized, is there? If not, XEN_PAGE_SIZE is here just because it happens to be 4K, which is a reasonable value.

How about just setting it to 4096?