diff options
Diffstat (limited to 'net/ipv6/syncookies.c')
-rw-r--r-- | net/ipv6/syncookies.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c index 83cea1d39466..9a2838e93cc5 100644 --- a/net/ipv6/syncookies.c +++ b/net/ipv6/syncookies.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #define COOKIEBITS 24 /* Upper bits store count */ | 24 | #define COOKIEBITS 24 /* Upper bits store count */ |
25 | #define COOKIEMASK (((__u32)1 << COOKIEBITS) - 1) | 25 | #define COOKIEMASK (((__u32)1 << COOKIEBITS) - 1) |
26 | 26 | ||
27 | static u32 syncookie6_secret[2][16-4+SHA_DIGEST_WORDS]; | 27 | static u32 syncookie6_secret[2][16-4+SHA_DIGEST_WORDS] __read_mostly; |
28 | 28 | ||
29 | /* RFC 2460, Section 8.3: | 29 | /* RFC 2460, Section 8.3: |
30 | * [ipv6 tcp] MSS must be computed as the maximum packet size minus 60 [..] | 30 | * [ipv6 tcp] MSS must be computed as the maximum packet size minus 60 [..] |
@@ -203,7 +203,7 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb) | |||
203 | ireq->ir_num = ntohs(th->dest); | 203 | ireq->ir_num = ntohs(th->dest); |
204 | ireq->ir_v6_rmt_addr = ipv6_hdr(skb)->saddr; | 204 | ireq->ir_v6_rmt_addr = ipv6_hdr(skb)->saddr; |
205 | ireq->ir_v6_loc_addr = ipv6_hdr(skb)->daddr; | 205 | ireq->ir_v6_loc_addr = ipv6_hdr(skb)->daddr; |
206 | if (ipv6_opt_accepted(sk, skb) || | 206 | if (ipv6_opt_accepted(sk, skb, &TCP_SKB_CB(skb)->header.h6) || |
207 | np->rxopt.bits.rxinfo || np->rxopt.bits.rxoinfo || | 207 | np->rxopt.bits.rxinfo || np->rxopt.bits.rxoinfo || |
208 | np->rxopt.bits.rxhlim || np->rxopt.bits.rxohlim) { | 208 | np->rxopt.bits.rxhlim || np->rxopt.bits.rxohlim) { |
209 | atomic_inc(&skb->users); | 209 | atomic_inc(&skb->users); |