aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2013-07-10 11:33:43 +0000
committerFelix Fietkau <nbd@openwrt.org>2013-07-10 11:33:43 +0000
commiteb2e09c5e97d07fd1135c5c401ca217c93e09db1 (patch)
tree63f05c0a5b16e914f34a20423f8a42019880018b
parent60abecf605707fc81b8b7892aa7eaefe02c958e0 (diff)
downloadupstream-eb2e09c5e97d07fd1135c5c401ca217c93e09db1.tar.gz
upstream-eb2e09c5e97d07fd1135c5c401ca217c93e09db1.tar.bz2
upstream-eb2e09c5e97d07fd1135c5c401ca217c93e09db1.zip
ar71xx: make implicit alignment in struct pptp_addr explicit to fix ABI breakage caused by the unaligned access hacks patch
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37223
-rw-r--r--target/linux/ar71xx/patches-3.10/902-unaligned_access_hacks.patch10
-rw-r--r--target/linux/ar71xx/patches-3.8/902-unaligned_access_hacks.patch18
2 files changed, 24 insertions, 4 deletions
diff --git a/target/linux/ar71xx/patches-3.10/902-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-3.10/902-unaligned_access_hacks.patch
index 4e7af8db60..0b89df204b 100644
--- a/target/linux/ar71xx/patches-3.10/902-unaligned_access_hacks.patch
+++ b/target/linux/ar71xx/patches-3.10/902-unaligned_access_hacks.patch
@@ -902,3 +902,13 @@
return true;
}
return false;
+--- a/include/uapi/linux/if_pppox.h
++++ b/include/uapi/linux/if_pppox.h
+@@ -47,6 +47,7 @@ struct pppoe_addr {
+ */
+ struct pptp_addr {
+ __be16 call_id;
++ __u16 pad;
+ struct in_addr sin_addr;
+ };
+
diff --git a/target/linux/ar71xx/patches-3.8/902-unaligned_access_hacks.patch b/target/linux/ar71xx/patches-3.8/902-unaligned_access_hacks.patch
index 400e766229..714d2d63e2 100644
--- a/target/linux/ar71xx/patches-3.8/902-unaligned_access_hacks.patch
+++ b/target/linux/ar71xx/patches-3.8/902-unaligned_access_hacks.patch
@@ -279,7 +279,7 @@
#include <asm/uaccess.h>
#include <linux/proc_fs.h>
-@@ -764,10 +765,10 @@ static void tcp_v6_send_response(struct
+@@ -764,10 +765,10 @@ static void tcp_v6_send_response(struct
topt = (__be32 *)(t1 + 1);
if (ts) {
@@ -415,7 +415,7 @@
if (t->parms.flags & IP6_TNL_F_USE_ORIG_FWMARK)
fl6.flowi6_mark = skb->mark;
-@@ -1240,7 +1240,7 @@ static int ip6gre_header(struct sk_buff
+@@ -1240,7 +1240,7 @@ static int ip6gre_header(struct sk_buff
struct ipv6hdr *ipv6h = (struct ipv6hdr *)skb_push(skb, t->hlen);
__be16 *p = (__be16 *)(ipv6h+1);
@@ -831,7 +831,7 @@
#include <linux/netdevice.h>
--- a/include/net/inet_ecn.h
+++ b/include/net/inet_ecn.h
-@@ -115,13 +115,13 @@ static inline int IP6_ECN_set_ce(struct
+@@ -115,13 +115,13 @@ static inline int IP6_ECN_set_ce(struct
{
if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
return 0;
@@ -994,7 +994,7 @@
ptr = ip6hoff + sizeof(struct ipv6hdr);
--- a/net/xfrm/xfrm_input.c
+++ b/net/xfrm/xfrm_input.c
-@@ -77,8 +77,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
+@@ -77,8 +77,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
if (!pskb_may_pull(skb, hlen))
return -EINVAL;
@@ -1005,3 +1005,13 @@
return 0;
}
+--- a/include/uapi/linux/if_pppox.h
++++ b/include/uapi/linux/if_pppox.h
+@@ -47,6 +47,7 @@ struct pppoe_addr {
+ */
+ struct pptp_addr {
+ __be16 call_id;
++ __u16 pad;
+ struct in_addr sin_addr;
+ };
+