kernel: Update to version 4.4.182
[openwrt/staging/jogo.git] / target / linux / ar71xx / patches-4.4 / 910-unaligned_access_hacks.patch
index 164000f5c0311bef20f2b550a17343126362f160..768ddfcaaf0d47743f018366e677e79797e9ce7b 100644 (file)
   */
 --- a/net/ipv6/datagram.c
 +++ b/net/ipv6/datagram.c
-@@ -433,7 +433,7 @@ int ipv6_recv_error(struct sock *sk, str
+@@ -434,7 +434,7 @@ int ipv6_recv_error(struct sock *sk, str
                                ipv6_iface_scope_id(&sin->sin6_addr,
                                                    IP6CB(skb)->iif);
                } else {
                                               &sin->sin6_addr);
                        sin->sin6_scope_id = 0;
                }
-@@ -773,12 +773,12 @@ int ip6_datagram_send_ctl(struct net *ne
+@@ -772,12 +772,12 @@ int ip6_datagram_send_ctl(struct net *ne
                        }
  
                        if (fl6->flowlabel&IPV6_FLOWINFO_MASK) {
  
  #define       IP6_MF          0x0001
  #define       IP6_OFFSET      0xFFF8
-@@ -418,8 +418,8 @@ static inline void __ipv6_addr_set_half(
+@@ -411,8 +411,8 @@ static inline void __ipv6_addr_set_half(
        }
  #endif
  #endif
  }
  
  static inline void ipv6_addr_set(struct in6_addr *addr, 
-@@ -478,6 +478,8 @@ static inline bool ipv6_prefix_equal(con
+@@ -471,6 +471,8 @@ static inline bool ipv6_prefix_equal(con
        const __be32 *a1 = addr1->s6_addr32;
        const __be32 *a2 = addr2->s6_addr32;
        unsigned int pdw, pbi;
  
        /* check complete u32 in prefix */
        pdw = prefixlen >> 5;
-@@ -486,7 +488,9 @@ static inline bool ipv6_prefix_equal(con
+@@ -479,7 +481,9 @@ static inline bool ipv6_prefix_equal(con
  
        /* check incomplete u32 in prefix */
        pbi = prefixlen & 0x1f;
                return false;
  
        return true;
-@@ -630,13 +634,13 @@ static inline void ipv6_addr_set_v4mappe
+@@ -608,13 +612,13 @@ static inline void ipv6_addr_set_v4mappe
   */
  static inline int __ipv6_addr_diff32(const void *token1, const void *token2, int addrlen)
  {
                if (xb)
                        return i * 32 + 31 - __fls(ntohl(xb));
        }
-@@ -805,17 +809,18 @@ static inline int ip6_default_np_autolab
+@@ -783,17 +787,18 @@ static inline int ip6_default_np_autolab
  static inline void ip6_flow_hdr(struct ipv6hdr *hdr, unsigned int tclass,
                                __be32 flowlabel)
  {
  static struct fib6_node *node_alloc(void)
 --- a/net/netfilter/nf_conntrack_proto_tcp.c
 +++ b/net/netfilter/nf_conntrack_proto_tcp.c
-@@ -456,7 +456,7 @@ static void tcp_sack(const struct sk_buf
+@@ -458,7 +458,7 @@ static void tcp_sack(const struct sk_buf
  
        /* Fast path for timestamp-only option */
        if (length == TCPOLEN_TSTAMP_ALIGNED
  
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -3836,14 +3836,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3852,14 +3852,16 @@ static bool tcp_parse_aligned_timestamp(
  {
        const __be32 *ptr = (const __be32 *)(th + 1);