aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/backport-4.14/272-batman-adv-Remove-kernel-fixed-width-types-in-packet.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/backport-4.14/272-batman-adv-Remove-kernel-fixed-width-types-in-packet.patch')
-rw-r--r--target/linux/generic/backport-4.14/272-batman-adv-Remove-kernel-fixed-width-types-in-packet.patch386
1 files changed, 386 insertions, 0 deletions
diff --git a/target/linux/generic/backport-4.14/272-batman-adv-Remove-kernel-fixed-width-types-in-packet.patch b/target/linux/generic/backport-4.14/272-batman-adv-Remove-kernel-fixed-width-types-in-packet.patch
new file mode 100644
index 0000000000..c46a8f74c7
--- /dev/null
+++ b/target/linux/generic/backport-4.14/272-batman-adv-Remove-kernel-fixed-width-types-in-packet.patch
@@ -0,0 +1,386 @@
+From: Sven Eckelmann <sven.eckelmann@openmesh.com>
+Date: Thu, 21 Dec 2017 10:17:40 +0100
+Subject: [PATCH] batman-adv: Remove kernel fixed width types in packet.h
+
+The uapi headers use the __u8/__u16/... version of the fixed width types
+instead of u8/u16/... The use of the latter must be avoided before
+packet.h is copied to include/uapi/linux/.
+
+Signed-off-by: Sven Eckelmann <sven.eckelmann@openmesh.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+
+--- a/net/batman-adv/packet.h
++++ b/net/batman-adv/packet.h
+@@ -22,7 +22,7 @@
+ #include <linux/if_ether.h>
+ #include <linux/types.h>
+
+-#define batadv_tp_is_error(n) ((u8)(n) > 127 ? 1 : 0)
++#define batadv_tp_is_error(n) ((__u8)(n) > 127 ? 1 : 0)
+
+ /**
+ * enum batadv_packettype - types for batman-adv encapsulated packets
+@@ -169,8 +169,8 @@ enum batadv_tvlv_type {
+ * transport the claim type and the group id
+ */
+ struct batadv_bla_claim_dst {
+- u8 magic[3]; /* FF:43:05 */
+- u8 type; /* bla_claimframe */
++ __u8 magic[3]; /* FF:43:05 */
++ __u8 type; /* bla_claimframe */
+ __be16 group; /* group id */
+ };
+
+@@ -190,15 +190,15 @@ struct batadv_bla_claim_dst {
+ * @tvlv_len: length of tvlv data following the ogm header
+ */
+ struct batadv_ogm_packet {
+- u8 packet_type;
+- u8 version;
+- u8 ttl;
+- u8 flags;
++ __u8 packet_type;
++ __u8 version;
++ __u8 ttl;
++ __u8 flags;
+ __be32 seqno;
+- u8 orig[ETH_ALEN];
+- u8 prev_sender[ETH_ALEN];
+- u8 reserved;
+- u8 tq;
++ __u8 orig[ETH_ALEN];
++ __u8 prev_sender[ETH_ALEN];
++ __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.
+@@ -219,12 +219,12 @@ struct batadv_ogm_packet {
+ * @throughput: the currently flooded path throughput
+ */
+ struct batadv_ogm2_packet {
+- u8 packet_type;
+- u8 version;
+- u8 ttl;
+- u8 flags;
++ __u8 packet_type;
++ __u8 version;
++ __u8 ttl;
++ __u8 flags;
+ __be32 seqno;
+- u8 orig[ETH_ALEN];
++ __u8 orig[ETH_ALEN];
+ __be16 tvlv_len;
+ __be32 throughput;
+ /* __packed is not needed as the struct size is divisible by 4,
+@@ -243,9 +243,9 @@ struct batadv_ogm2_packet {
+ * @elp_interval: currently used ELP sending interval in ms
+ */
+ struct batadv_elp_packet {
+- u8 packet_type;
+- u8 version;
+- u8 orig[ETH_ALEN];
++ __u8 packet_type;
++ __u8 version;
++ __u8 orig[ETH_ALEN];
+ __be32 seqno;
+ __be32 elp_interval;
+ };
+@@ -268,14 +268,14 @@ struct batadv_elp_packet {
+ * members are padded the same way as they are in real packets.
+ */
+ struct batadv_icmp_header {
+- u8 packet_type;
+- u8 version;
+- u8 ttl;
+- u8 msg_type; /* see ICMP message types above */
+- u8 dst[ETH_ALEN];
+- u8 orig[ETH_ALEN];
+- u8 uid;
+- u8 align[3];
++ __u8 packet_type;
++ __u8 version;
++ __u8 ttl;
++ __u8 msg_type; /* see ICMP message types above */
++ __u8 dst[ETH_ALEN];
++ __u8 orig[ETH_ALEN];
++ __u8 uid;
++ __u8 align[3];
+ };
+
+ /**
+@@ -291,14 +291,14 @@ struct batadv_icmp_header {
+ * @seqno: ICMP sequence number
+ */
+ struct batadv_icmp_packet {
+- u8 packet_type;
+- u8 version;
+- u8 ttl;
+- u8 msg_type; /* see ICMP message types above */
+- u8 dst[ETH_ALEN];
+- u8 orig[ETH_ALEN];
+- u8 uid;
+- u8 reserved;
++ __u8 packet_type;
++ __u8 version;
++ __u8 ttl;
++ __u8 msg_type; /* see ICMP message types above */
++ __u8 dst[ETH_ALEN];
++ __u8 orig[ETH_ALEN];
++ __u8 uid;
++ __u8 reserved;
+ __be16 seqno;
+ };
+
+@@ -320,15 +320,15 @@ struct batadv_icmp_packet {
+ * store it using network order
+ */
+ struct batadv_icmp_tp_packet {
+- u8 packet_type;
+- u8 version;
+- u8 ttl;
+- u8 msg_type; /* see ICMP message types above */
+- u8 dst[ETH_ALEN];
+- u8 orig[ETH_ALEN];
+- u8 uid;
+- u8 subtype;
+- u8 session[2];
++ __u8 packet_type;
++ __u8 version;
++ __u8 ttl;
++ __u8 msg_type; /* see ICMP message types above */
++ __u8 dst[ETH_ALEN];
++ __u8 orig[ETH_ALEN];
++ __u8 uid;
++ __u8 subtype;
++ __u8 session[2];
+ __be32 seqno;
+ __be32 timestamp;
+ };
+@@ -359,16 +359,16 @@ enum batadv_icmp_tp_subtype {
+ * @rr: route record array
+ */
+ struct batadv_icmp_packet_rr {
+- u8 packet_type;
+- u8 version;
+- u8 ttl;
+- u8 msg_type; /* see ICMP message types above */
+- u8 dst[ETH_ALEN];
+- u8 orig[ETH_ALEN];
+- u8 uid;
+- u8 rr_cur;
++ __u8 packet_type;
++ __u8 version;
++ __u8 ttl;
++ __u8 msg_type; /* see ICMP message types above */
++ __u8 dst[ETH_ALEN];
++ __u8 orig[ETH_ALEN];
++ __u8 uid;
++ __u8 rr_cur;
+ __be16 seqno;
+- u8 rr[BATADV_RR_LEN][ETH_ALEN];
++ __u8 rr[BATADV_RR_LEN][ETH_ALEN];
+ };
+
+ #define BATADV_ICMP_MAX_PACKET_SIZE sizeof(struct batadv_icmp_packet_rr)
+@@ -394,11 +394,11 @@ struct batadv_icmp_packet_rr {
+ * @dest: originator destination of the unicast packet
+ */
+ struct batadv_unicast_packet {
+- u8 packet_type;
+- u8 version;
+- u8 ttl;
+- u8 ttvn; /* destination translation table version number */
+- u8 dest[ETH_ALEN];
++ __u8 packet_type;
++ __u8 version;
++ __u8 ttl;
++ __u8 ttvn; /* destination translation table version number */
++ __u8 dest[ETH_ALEN];
+ /* "4 bytes boundary + 2 bytes" long to make the payload after the
+ * following ethernet header again 4 bytes boundary aligned
+ */
+@@ -413,9 +413,9 @@ struct batadv_unicast_packet {
+ */
+ struct batadv_unicast_4addr_packet {
+ struct batadv_unicast_packet u;
+- u8 src[ETH_ALEN];
+- u8 subtype;
+- u8 reserved;
++ __u8 src[ETH_ALEN];
++ __u8 subtype;
++ __u8 reserved;
+ /* "4 bytes boundary + 2 bytes" long to make the payload after the
+ * following ethernet header again 4 bytes boundary aligned
+ */
+@@ -435,22 +435,22 @@ struct batadv_unicast_4addr_packet {
+ * @total_size: size of the merged packet
+ */
+ struct batadv_frag_packet {
+- u8 packet_type;
+- u8 version; /* batman version field */
+- u8 ttl;
++ __u8 packet_type;
++ __u8 version; /* batman version field */
++ __u8 ttl;
+ #if defined(__BIG_ENDIAN_BITFIELD)
+- u8 no:4;
+- u8 priority:3;
+- u8 reserved:1;
++ __u8 no:4;
++ __u8 priority:3;
++ __u8 reserved:1;
+ #elif defined(__LITTLE_ENDIAN_BITFIELD)
+- u8 reserved:1;
+- u8 priority:3;
+- u8 no:4;
++ __u8 reserved:1;
++ __u8 priority:3;
++ __u8 no:4;
+ #else
+ #error "unknown bitfield endianness"
+ #endif
+- u8 dest[ETH_ALEN];
+- u8 orig[ETH_ALEN];
++ __u8 dest[ETH_ALEN];
++ __u8 orig[ETH_ALEN];
+ __be16 seqno;
+ __be16 total_size;
+ };
+@@ -465,12 +465,12 @@ struct batadv_frag_packet {
+ * @orig: originator of the broadcast packet
+ */
+ struct batadv_bcast_packet {
+- u8 packet_type;
+- u8 version; /* batman version field */
+- u8 ttl;
+- u8 reserved;
++ __u8 packet_type;
++ __u8 version; /* batman version field */
++ __u8 ttl;
++ __u8 reserved;
+ __be32 seqno;
+- u8 orig[ETH_ALEN];
++ __u8 orig[ETH_ALEN];
+ /* "4 bytes boundary + 2 bytes" long to make the payload after the
+ * following ethernet header again 4 bytes boundary aligned
+ */
+@@ -494,19 +494,19 @@ struct batadv_bcast_packet {
+ * @coded_len: length of network coded part of the payload
+ */
+ struct batadv_coded_packet {
+- u8 packet_type;
+- u8 version; /* batman version field */
+- u8 ttl;
+- u8 first_ttvn;
+- /* u8 first_dest[ETH_ALEN]; - saved in mac header destination */
+- u8 first_source[ETH_ALEN];
+- u8 first_orig_dest[ETH_ALEN];
++ __u8 packet_type;
++ __u8 version; /* batman version field */
++ __u8 ttl;
++ __u8 first_ttvn;
++ /* __u8 first_dest[ETH_ALEN]; - saved in mac header destination */
++ __u8 first_source[ETH_ALEN];
++ __u8 first_orig_dest[ETH_ALEN];
+ __be32 first_crc;
+- u8 second_ttl;
+- u8 second_ttvn;
+- u8 second_dest[ETH_ALEN];
+- u8 second_source[ETH_ALEN];
+- u8 second_orig_dest[ETH_ALEN];
++ __u8 second_ttl;
++ __u8 second_ttvn;
++ __u8 second_dest[ETH_ALEN];
++ __u8 second_source[ETH_ALEN];
++ __u8 second_orig_dest[ETH_ALEN];
+ __be32 second_crc;
+ __be16 coded_len;
+ };
+@@ -525,14 +525,14 @@ struct batadv_coded_packet {
+ * @align: 2 bytes to align the header to a 4 byte boundary
+ */
+ struct batadv_unicast_tvlv_packet {
+- u8 packet_type;
+- u8 version; /* batman version field */
+- u8 ttl;
+- u8 reserved;
+- u8 dst[ETH_ALEN];
+- u8 src[ETH_ALEN];
++ __u8 packet_type;
++ __u8 version; /* batman version field */
++ __u8 ttl;
++ __u8 reserved;
++ __u8 dst[ETH_ALEN];
++ __u8 src[ETH_ALEN];
+ __be16 tvlv_len;
+- u16 align;
++ __u16 align;
+ };
+
+ /**
+@@ -542,8 +542,8 @@ struct batadv_unicast_tvlv_packet {
+ * @len: tvlv container length
+ */
+ struct batadv_tvlv_hdr {
+- u8 type;
+- u8 version;
++ __u8 type;
++ __u8 version;
+ __be16 len;
+ };
+
+@@ -566,8 +566,8 @@ struct batadv_tvlv_gateway_data {
+ * one batadv_tvlv_tt_vlan_data object per announced vlan
+ */
+ struct batadv_tvlv_tt_data {
+- u8 flags;
+- u8 ttvn;
++ __u8 flags;
++ __u8 ttvn;
+ __be16 num_vlan;
+ };
+
+@@ -581,7 +581,7 @@ struct batadv_tvlv_tt_data {
+ struct batadv_tvlv_tt_vlan_data {
+ __be32 crc;
+ __be16 vid;
+- u16 reserved;
++ __u16 reserved;
+ };
+
+ /**
+@@ -593,9 +593,9 @@ struct batadv_tvlv_tt_vlan_data {
+ * @vid: VLAN identifier
+ */
+ struct batadv_tvlv_tt_change {
+- u8 flags;
+- u8 reserved[3];
+- u8 addr[ETH_ALEN];
++ __u8 flags;
++ __u8 reserved[3];
++ __u8 addr[ETH_ALEN];
+ __be16 vid;
+ };
+
+@@ -605,7 +605,7 @@ struct batadv_tvlv_tt_change {
+ * @vid: VLAN identifier
+ */
+ struct batadv_tvlv_roam_adv {
+- u8 client[ETH_ALEN];
++ __u8 client[ETH_ALEN];
+ __be16 vid;
+ };
+
+@@ -615,8 +615,8 @@ struct batadv_tvlv_roam_adv {
+ * @reserved: reserved field
+ */
+ struct batadv_tvlv_mcast_data {
+- u8 flags;
+- u8 reserved[3];
++ __u8 flags;
++ __u8 reserved[3];
+ };
+
+ #endif /* _NET_BATMAN_ADV_PACKET_H_ */