kernel: update 3.10 to 3.10.12
[openwrt.git] / target / linux / ar71xx / patches-3.10 / 902-unaligned_access_hacks.patch
index 0b89df2..fa4ff47 100644 (file)
  #include <asm/uaccess.h>
  
  #include <linux/proc_fs.h>
-@@ -763,10 +764,10 @@ static void tcp_v6_send_response(struct 
+@@ -763,10 +764,10 @@ static void tcp_v6_send_response(struct
        topt = (__be32 *)(t1 + 1);
  
        if (tsecr) {
  #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;
        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;
  
                tpi->seq = 0;
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -3592,13 +3592,14 @@ static bool tcp_parse_aligned_timestamp(
+@@ -3592,14 +3592,16 @@ static bool tcp_parse_aligned_timestamp(
  {
        const __be32 *ptr = (const __be32 *)(th + 1);
  
 -              tp->rx_opt.rcv_tsval = ntohl(*ptr);
 +              tp->rx_opt.rcv_tsval = get_unaligned_be32(ptr);
                ++ptr;
--              tp->rx_opt.rcv_tsecr = ntohl(*ptr) - tp->tsoffset;
-+              tp->rx_opt.rcv_tsecr = get_unaligned_be32(ptr) - tp->tsoffset;
+               if (*ptr)
+-                      tp->rx_opt.rcv_tsecr = ntohl(*ptr) - tp->tsoffset;
++                      tp->rx_opt.rcv_tsecr = get_unaligned_be32(ptr) -
++                                             tp->tsoffset;
+               else
+                       tp->rx_opt.rcv_tsecr = 0;
                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 {