drivers: hv: Cleanup the kvp related state in hyperv.h
Now cleanup the hyperv.h with regards to KVP definitions.
Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/include/linux/hyperv.h b/include/linux/hyperv.h
index 7332b3f..b822978 100644
--- a/include/linux/hyperv.h
+++ b/include/linux/hyperv.h
@@ -137,7 +137,6 @@
-#ifdef __KERNEL__
/*
* Registry value types.
@@ -163,28 +162,30 @@
};
struct hv_kvp_hdr {
- u8 operation;
- u8 pool;
-};
+ __u8 operation;
+ __u8 pool;
+ __u16 pad;
+} __attribute__((packed));
struct hv_kvp_exchg_msg_value {
- u32 value_type;
- u32 key_size;
- u32 value_size;
- u8 key[HV_KVP_EXCHANGE_MAX_KEY_SIZE];
- u8 value[HV_KVP_EXCHANGE_MAX_VALUE_SIZE];
-};
+ __u32 value_type;
+ __u32 key_size;
+ __u32 value_size;
+ __u8 key[HV_KVP_EXCHANGE_MAX_KEY_SIZE];
+ __u8 value[HV_KVP_EXCHANGE_MAX_VALUE_SIZE];
+} __attribute__((packed));
struct hv_kvp_msg_enumerate {
- u32 index;
+ __u32 index;
struct hv_kvp_exchg_msg_value data;
-};
+} __attribute__((packed));
struct hv_kvp_msg {
struct hv_kvp_hdr kvp_hdr;
struct hv_kvp_msg_enumerate kvp_data;
-};
+} __attribute__((packed));
+#ifdef __KERNEL__
#include <linux/scatterlist.h>
#include <linux/list.h>
#include <linux/uuid.h>