|
| 1 | +From: Felix Fietkau < [email protected]> |
| 2 | +Subject: [PATCH] ar71xx: fix unaligned access in a few more places |
| 3 | + |
| 4 | +SVN-Revision: 35130 |
| 5 | +--- |
| 6 | + arch/mips/include/asm/checksum.h | 83 +++--------------- |
| 7 | + include/uapi/linux/ip.h | 2 +- |
| 8 | + include/uapi/linux/ipv6.h | 2 +- |
| 9 | + include/uapi/linux/tcp.h | 4 ++-- |
| 10 | + include/uapi/linux/udp.h | 2 +- |
| 11 | + net/netfilter/nf_conntrack_core.c | 4 ++-- |
| 12 | + include/uapi/linux/icmp.h | 2 +- |
| 13 | + include/uapi/linux/in6.h | 2 +- |
| 14 | + net/ipv6/tcp_ipv6.c | 9 +++-- |
| 15 | + net/ipv6/datagram.c | 6 ++-- |
| 16 | + net/ipv6/exthdrs.c | 2 +- |
| 17 | + include/linux/types.h | 5 +++ |
| 18 | + net/ipv4/af_inet.c | 4 ++-- |
| 19 | + net/ipv4/tcp_output.c | 69 +++++++++-------- |
| 20 | + include/uapi/linux/igmp.h | 8 +++--- |
| 21 | + net/core/flow_dissector.c | 2 +- |
| 22 | + include/uapi/linux/icmpv6.h | 2 +- |
| 23 | + include/net/ndisc.h | 10 ++++---- |
| 24 | + net/sched/cls_u32.c | 6 +++--- |
| 25 | + net/ipv6/ip6_offload.c | 2 +- |
| 26 | + include/net/addrconf.h | 2 +- |
| 27 | + include/net/inet_ecn.h | 4 ++-- |
| 28 | + include/net/ipv6.h | 23 +++++---- |
| 29 | + include/net/secure_seq.h | 1 + |
| 30 | + include/uapi/linux/in.h | 2 +- |
| 31 | + net/ipv6/ip6_fib.h | 2 +- |
| 32 | + net/netfilter/nf_conntrack_proto_tcp.c | 2 +- |
| 33 | + net/xfrm/xfrm_input.c | 4 ++-- |
| 34 | + net/ipv4/tcp_input.c | 12 ++++--- |
| 35 | + include/uapi/linux/if_pppox.h | 1 + |
| 36 | + net/ipv6/netfilter/nf_log_ipv6.c | 4 ++-- |
| 37 | + include/net/neighbour.h | 6 +++-- |
| 38 | + include/uapi/linux/netfilter_arp/arp_tables.h | 2 +- |
| 39 | + net/core/utils.c | 10 +++++-- |
| 40 | + include/linux/etherdevice.h | 11 ++++--- |
| 41 | + net/ipv4/tcp_offload.c | 6 +++--- |
| 42 | + net/ipv6/netfilter/ip6table_mangle.c | 4 ++-- |
| 43 | + 37 file changed, 171 insertions(+), 141 deletions(-) |
| 44 | + |
1 | 45 | --- a/arch/mips/include/asm/checksum.h
|
2 | 46 | +++ b/arch/mips/include/asm/checksum.h
|
3 | 47 | @@ -100,26 +100,30 @@ static inline __sum16 ip_fast_csum(const
|
|
118 | 162 |
|
119 | 163 | --- a/include/uapi/linux/ip.h
|
120 | 164 | +++ b/include/uapi/linux/ip.h
|
121 |
| -@@ -103,7 +103,7 @@ struct iphdr { |
122 |
| - __be32 saddr; |
123 |
| - __be32 daddr; |
| 165 | +@@ -105,7 +105,7 @@ struct iphdr { |
| 166 | + __be32 daddr; |
| 167 | + ); |
124 | 168 | /*The options start here. */
|
125 | 169 | -};
|
126 | 170 | +} __attribute__((packed, aligned(2)));
|
|
129 | 173 | struct ip_auth_hdr {
|
130 | 174 | --- a/include/uapi/linux/ipv6.h
|
131 | 175 | +++ b/include/uapi/linux/ipv6.h
|
132 |
| -@@ -132,7 +132,7 @@ struct ipv6hdr { |
133 |
| - |
134 |
| - struct in6_addr saddr; |
135 |
| - struct in6_addr daddr; |
| 176 | +@@ -134,7 +134,7 @@ struct ipv6hdr { |
| 177 | + struct in6_addr saddr; |
| 178 | + struct in6_addr daddr; |
| 179 | + ); |
136 | 180 | -};
|
137 | 181 | +} __attribute__((packed, aligned(2)));
|
138 | 182 |
|
|
229 | 273 | }
|
230 | 274 |
|
231 | 275 | #ifdef CONFIG_TCP_MD5SIG
|
232 |
| ---- a/include/linux/ipv6.h |
233 |
| -+++ b/include/linux/ipv6.h |
234 |
| -@@ -6,6 +6,7 @@ |
235 |
| - |
236 |
| - #define ipv6_optlen(p) (((p)->hdrlen+1) << 3) |
237 |
| - #define ipv6_authlen(p) (((p)->hdrlen+2) << 2) |
238 |
| -+ |
239 |
| - /* |
240 |
| - * This structure contains configuration options per IPv6 link. |
241 |
| - */ |
242 | 276 | --- a/net/ipv6/datagram.c
|
243 | 277 | +++ b/net/ipv6/datagram.c
|
244 | 278 | @@ -492,7 +492,7 @@ int ipv6_recv_error(struct sock *sk, str
|
|
0 commit comments