mirror of
https://github.com/openwrt/openwrt.git
synced 2025-03-11 06:54:21 +00:00
ar71xx: fix a double dereference in the unaligned access patch
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44885
This commit is contained in:
parent
2077b18e6b
commit
75e828c117
@ -210,7 +210,7 @@
|
|||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include <linux/ipv6.h>
|
#include <linux/ipv6.h>
|
||||||
#include <linux/icmpv6.h>
|
#include <linux/icmpv6.h>
|
||||||
@@ -833,10 +834,10 @@ static void tcp_v6_send_response(struct
|
@@ -833,10 +834,10 @@ static void tcp_v6_send_response(struct
|
||||||
topt = (__be32 *)(t1 + 1);
|
topt = (__be32 *)(t1 + 1);
|
||||||
|
|
||||||
if (tsecr) {
|
if (tsecr) {
|
||||||
@ -637,7 +637,7 @@
|
|||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
--- a/include/net/inet_ecn.h
|
--- a/include/net/inet_ecn.h
|
||||||
+++ b/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)))
|
if (INET_ECN_is_not_ect(ipv6_get_dsfield(iph)))
|
||||||
return 0;
|
return 0;
|
||||||
@ -822,7 +822,7 @@
|
|||||||
| TCPOLEN_TIMESTAMP))
|
| TCPOLEN_TIMESTAMP))
|
||||||
--- a/net/xfrm/xfrm_input.c
|
--- a/net/xfrm/xfrm_input.c
|
||||||
+++ b/net/xfrm/xfrm_input.c
|
+++ b/net/xfrm/xfrm_input.c
|
||||||
@@ -152,8 +152,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
|
@@ -152,8 +152,8 @@ int xfrm_parse_spi(struct sk_buff *skb,
|
||||||
if (!pskb_may_pull(skb, hlen))
|
if (!pskb_may_pull(skb, hlen))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
@ -869,12 +869,12 @@
|
|||||||
|
|
||||||
--- a/net/ipv6/netfilter/nf_log_ipv6.c
|
--- a/net/ipv6/netfilter/nf_log_ipv6.c
|
||||||
+++ b/net/ipv6/netfilter/nf_log_ipv6.c
|
+++ b/net/ipv6/netfilter/nf_log_ipv6.c
|
||||||
@@ -63,9 +63,10 @@ static void dump_ipv6_packet(struct nf_l
|
@@ -63,9 +63,9 @@ static void dump_ipv6_packet(struct nf_l
|
||||||
/* Max length: 44 "LEN=65535 TC=255 HOPLIMIT=255 FLOWLBL=FFFFF " */
|
/* Max length: 44 "LEN=65535 TC=255 HOPLIMIT=255 FLOWLBL=FFFFF " */
|
||||||
nf_log_buf_add(m, "LEN=%Zu TC=%u HOPLIMIT=%u FLOWLBL=%u ",
|
nf_log_buf_add(m, "LEN=%Zu TC=%u HOPLIMIT=%u FLOWLBL=%u ",
|
||||||
ntohs(ih->payload_len) + sizeof(struct ipv6hdr),
|
ntohs(ih->payload_len) + sizeof(struct ipv6hdr),
|
||||||
|
- (ntohl(*(__be32 *)ih) & 0x0ff00000) >> 20,
|
||||||
+ (ntohl(net_hdr_word(ih)) & 0x0ff00000) >> 20,
|
+ (ntohl(net_hdr_word(ih)) & 0x0ff00000) >> 20,
|
||||||
(ntohl(*(__be32 *)ih) & 0x0ff00000) >> 20,
|
|
||||||
ih->hop_limit,
|
ih->hop_limit,
|
||||||
- (ntohl(*(__be32 *)ih) & 0x000fffff));
|
- (ntohl(*(__be32 *)ih) & 0x000fffff));
|
||||||
+ (ntohl(net_hdr_word(ih)) & 0x000fffff));
|
+ (ntohl(net_hdr_word(ih)) & 0x000fffff));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user