--- batman-adv_master.packet.h 2018-03-06 00:05:02.030715108 +0100
+++ batctl_master.packet.h 2018-03-06 00:05:02.038714932 +0100
@@ -196,6 +196,8 @@
__be16 group; /* group id */
};
+#pragma pack()
+
/**
* struct batadv_ogm_packet - ogm (routing protocol) packet
* @packet_type: batman-adv packet type, part of the general header
@@ -220,6 +222,9 @@
__u8 reserved;
__u8 tq;
__be16 tvlv_len;
+ /* __packed is not needed as the struct size is divisible by 4,
+ * and the largest data type in this struct has a size of 4.
+ */
};
#define BATADV_OGM_HLEN sizeof(struct batadv_ogm_packet)
@@ -244,6 +249,9 @@
__u8 orig[ETH_ALEN];
__be16 tvlv_len;
__be32 throughput;
+ /* __packed is not needed as the struct size is divisible by 4,
+ * and the largest data type in this struct has a size of 4.
+ */
};
#define BATADV_OGM2_HLEN sizeof(struct batadv_ogm2_packet)
@@ -397,6 +405,7 @@
* misalignment of the payload after the ethernet header. It may also lead to
* leakage of information when the padding it not initialized before sending.
*/
+#pragma pack(2)
/**
* struct batadv_unicast_packet - unicast packet for network payload
@@ -524,6 +533,8 @@
__be16 coded_len;
};
+#pragma pack()
+
/**
* struct batadv_unicast_tvlv_packet - generic unicast packet with tvlv payload
* @packet_type: batman-adv packet type, part of the general header
@@ -630,6 +641,4 @@
__u8 reserved[3];
};
-#pragma pack()
-
#endif /* _UAPI_LINUX_BATADV_PACKET_H_ */