Skip to contentSkip to conversation

xen: fix HYPERVISOR_dm_op() prototype

PATCH Superseded Sergey Dyasli 3 participants 7 messages Jun 7, 2017 – Jun 8, 2017

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 xen: fix HYPERVISOR_dm_op() prototype

Change the third parameter to be the required struct xen_dm_op_buf * instead of a generic void * (which blindly accepts any pointer).

---
v1 --> v2:
- Replaced "#include <xen/interface/hvm/dm_op.h>" with forward declaration of struct xen_dm_op_buf

 arch/x86/include/asm/xen/hypercall.h | 4 +++-
 include/xen/arm/hypercall.h          | 5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)
arch/x86/include/asm/xen/hypercall.h +3 -1
index f6d20f6cca12..7a4db5fefd15 100644
@@ -50,6 +50,8 @@
 #include <xen/interface/platform.h>
 #include <xen/interface/xen-mca.h>
 
+struct xen_dm_op_buf;
+
 /*
  * The hypercall asms have to meet several constraints:
  * - Work on 32- and 64-bit.
@@ -474,7 +476,7 @@ HYPERVISOR_xenpmu_op(unsigned int op, void *arg)
 
 static inline int
 HYPERVISOR_dm_op(
-	domid_t dom, unsigned int nr_bufs, void *bufs)
+	domid_t dom, unsigned int nr_bufs, struct xen_dm_op_buf *bufs)
 {
 	return _hypercall3(int, dm_op, dom, nr_bufs, bufs);
 }
include/xen/arm/hypercall.h +4 -1
index 73db4b2eeb89..b40485e54d80 100644
@@ -39,6 +39,8 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/platform.h>
 
+struct xen_dm_op_buf;
+
 long privcmd_call(unsigned call, unsigned long a1,
 		unsigned long a2, unsigned long a3,
 		unsigned long a4, unsigned long a5);
@@ -53,7 +55,8 @@ 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_dm_op(domid_t domid, unsigned int nr_bufs,
+		     struct xen_dm_op_buf *bufs);
 int HYPERVISOR_platform_op_raw(void *arg);
 static inline int HYPERVISOR_platform_op(struct xen_platform_op *op)
 {
Signature · 1 line
2.11.0
maintainer Reviewed-by on v2 1/1
#3 lore raw
In reply to Sergey Dyasli
Quoted 4 lines · Sergey Dyasli

Change the third parameter to be the required struct xen_dm_op_buf * instead of a generic void * (which blindly accepts any pointer).

Quoted 57 lines

---
v1 --> v2:
- Replaced "#include <xen/interface/hvm/dm_op.h>" with forward declaration of struct xen_dm_op_buf

 arch/x86/include/asm/xen/hypercall.h | 4 +++-
 include/xen/arm/hypercall.h          | 5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)
arch/x86/include/asm/xen/hypercall.h +3 -1
index f6d20f6cca12..7a4db5fefd15 100644
@@ -50,6 +50,8 @@
 #include <xen/interface/platform.h>
 #include <xen/interface/xen-mca.h>
 
+struct xen_dm_op_buf;
+
 /*
  * The hypercall asms have to meet several constraints:
  * - Work on 32- and 64-bit.
@@ -474,7 +476,7 @@ HYPERVISOR_xenpmu_op(unsigned int op, void *arg)
 
 static inline int
 HYPERVISOR_dm_op(
-	domid_t dom, unsigned int nr_bufs, void *bufs)
+	domid_t dom, unsigned int nr_bufs, struct xen_dm_op_buf *bufs)
 {
 	return _hypercall3(int, dm_op, dom, nr_bufs, bufs);
 }
include/xen/arm/hypercall.h +4 -1
index 73db4b2eeb89..b40485e54d80 100644
@@ -39,6 +39,8 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/platform.h>
 
+struct xen_dm_op_buf;
+
 long privcmd_call(unsigned call, unsigned long a1,
 		unsigned long a2, unsigned long a3,
 		unsigned long a4, unsigned long a5);
@@ -53,7 +55,8 @@ 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_dm_op(domid_t domid, unsigned int nr_bufs,
+		     struct xen_dm_op_buf *bufs);
 int HYPERVISOR_platform_op_raw(void *arg);
 static inline int HYPERVISOR_platform_op(struct xen_platform_op *op)
 {
Signature · 1 line
2.11.0
maintainer Reviewed-by on v2 1/1
#4 lore raw
In reply to Sergey Dyasli
Quoted 4 lines · Sergey Dyasli

Change the third parameter to be the required struct xen_dm_op_buf * instead of a generic void * (which blindly accepts any pointer).

Quoted 57 lines

---
v1 --> v2:
- Replaced "#include <xen/interface/hvm/dm_op.h>" with forward declaration of struct xen_dm_op_buf

 arch/x86/include/asm/xen/hypercall.h | 4 +++-
 include/xen/arm/hypercall.h          | 5 ++++-
 2 files changed, 7 insertions(+), 2 deletions(-)
arch/x86/include/asm/xen/hypercall.h +3 -1
index f6d20f6cca12..7a4db5fefd15 100644
@@ -50,6 +50,8 @@
 #include <xen/interface/platform.h>
 #include <xen/interface/xen-mca.h>
 
+struct xen_dm_op_buf;
+
 /*
  * The hypercall asms have to meet several constraints:
  * - Work on 32- and 64-bit.
@@ -474,7 +476,7 @@ HYPERVISOR_xenpmu_op(unsigned int op, void *arg)
 
 static inline int
 HYPERVISOR_dm_op(
-	domid_t dom, unsigned int nr_bufs, void *bufs)
+	domid_t dom, unsigned int nr_bufs, struct xen_dm_op_buf *bufs)
 {
 	return _hypercall3(int, dm_op, dom, nr_bufs, bufs);
 }
include/xen/arm/hypercall.h +4 -1
index 73db4b2eeb89..b40485e54d80 100644
@@ -39,6 +39,8 @@
 #include <xen/interface/sched.h>
 #include <xen/interface/platform.h>
 
+struct xen_dm_op_buf;
+
 long privcmd_call(unsigned call, unsigned long a1,
 		unsigned long a2, unsigned long a3,
 		unsigned long a4, unsigned long a5);
@@ -53,7 +55,8 @@ 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_dm_op(domid_t domid, unsigned int nr_bufs,
+		     struct xen_dm_op_buf *bufs);
 int HYPERVISOR_platform_op_raw(void *arg);
 static inline int HYPERVISOR_platform_op(struct xen_platform_op *op)
 {
Signature · 1 line
2.11.0

_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xen.org/xen-devel