lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20231205083444.3029239-2-lulu@redhat.com>
Date:   Tue,  5 Dec 2023 16:34:38 +0800
From:   Cindy Lu <lulu@...hat.com>
To:     lulu@...hat.com, jasowang@...hat.com, mst@...hat.com,
        xieyongji@...edance.com, linux-kernel@...r.kernel.org,
        maxime.coquelin@...hat.com
Subject: [PATCH v3 1/7] vdpa: Move struct vdpa_vq_state to uAPI

Move struct vdpa_vq_state to uAPI for vduse reconnect.
Userspace and kernel will use this structure to synchronize the vq status

Signed-off-by: Cindy Lu <lulu@...hat.com>
---
 include/linux/vdpa.h      | 29 +----------------------------
 include/uapi/linux/vdpa.h | 31 +++++++++++++++++++++++++++++++
 2 files changed, 32 insertions(+), 28 deletions(-)

diff --git a/include/linux/vdpa.h b/include/linux/vdpa.h
index 43f59ef10cc9..62ce97bce934 100644
--- a/include/linux/vdpa.h
+++ b/include/linux/vdpa.h
@@ -8,6 +8,7 @@
 #include <linux/vhost_iotlb.h>
 #include <linux/virtio_net.h>
 #include <linux/if_ether.h>
+#include <uapi/linux/vdpa.h>
 
 /**
  * struct vdpa_calllback - vDPA callback definition.
@@ -29,34 +30,6 @@ struct vdpa_notification_area {
 	resource_size_t size;
 };
 
-/**
- * struct vdpa_vq_state_split - vDPA split virtqueue state
- * @avail_index: available index
- */
-struct vdpa_vq_state_split {
-	u16	avail_index;
-};
-
-/**
- * struct vdpa_vq_state_packed - vDPA packed virtqueue state
- * @last_avail_counter: last driver ring wrap counter observed by device
- * @last_avail_idx: device available index
- * @last_used_counter: device ring wrap counter
- * @last_used_idx: used index
- */
-struct vdpa_vq_state_packed {
-	u16	last_avail_counter:1;
-	u16	last_avail_idx:15;
-	u16	last_used_counter:1;
-	u16	last_used_idx:15;
-};
-
-struct vdpa_vq_state {
-	union {
-		struct vdpa_vq_state_split split;
-		struct vdpa_vq_state_packed packed;
-	};
-};
 
 struct vdpa_mgmt_dev;
 
diff --git a/include/uapi/linux/vdpa.h b/include/uapi/linux/vdpa.h
index 54b649ab0f22..f4bc3589685e 100644
--- a/include/uapi/linux/vdpa.h
+++ b/include/uapi/linux/vdpa.h
@@ -7,6 +7,8 @@
 #ifndef _UAPI_LINUX_VDPA_H_
 #define _UAPI_LINUX_VDPA_H_
 
+#include <linux/types.h>
+
 #define VDPA_GENL_NAME "vdpa"
 #define VDPA_GENL_VERSION 0x1
 
@@ -60,4 +62,33 @@ enum vdpa_attr {
 	VDPA_ATTR_MAX,
 };
 
+/**
+ * struct vdpa_vq_state_split - vDPA split virtqueue state
+ * @avail_index: available index
+ */
+struct vdpa_vq_state_split {
+	__u16 avail_index;
+};
+
+/**
+ * struct vdpa_vq_state_packed - vDPA packed virtqueue state
+ * @last_avail_counter: last driver ring wrap counter observed by device
+ * @last_avail_idx: device available index
+ * @last_used_counter: device ring wrap counter
+ * @last_used_idx: used index
+ */
+struct vdpa_vq_state_packed {
+	__u16 last_avail_counter : 1;
+	__u16 last_avail_idx : 15;
+	__u16 last_used_counter : 1;
+	__u16 last_used_idx : 15;
+};
+
+struct vdpa_vq_state {
+	union {
+		struct vdpa_vq_state_split split;
+		struct vdpa_vq_state_packed packed;
+	};
+};
+
 #endif
-- 
2.34.3

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ