X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=net%2Fipv6%2Fsyncookies.c;h=8698b49dfc8de1eed37657d3fd473ca84eb24015;hb=82c0c8b9643ed15707412c42a6753085c5a894e6;hp=5014aa663452763b9895b2da0579367bfb3d0430;hpb=9801002f76c63327cae6e90097d3d0afb1e1b562;p=platform%2Fkernel%2Flinux-rpi.git diff --git a/net/ipv6/syncookies.c b/net/ipv6/syncookies.c index 5014aa6..8698b49 100644 --- a/net/ipv6/syncookies.c +++ b/net/ipv6/syncookies.c @@ -180,14 +180,15 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb) treq = tcp_rsk(req); treq->tfo_listener = false; - if (security_inet_conn_request(sk, skb, req)) - goto out_free; - req->mss = mss; ireq->ir_rmt_port = th->source; ireq->ir_num = ntohs(th->dest); ireq->ir_v6_rmt_addr = ipv6_hdr(skb)->saddr; ireq->ir_v6_loc_addr = ipv6_hdr(skb)->daddr; + + if (security_inet_conn_request(sk, skb, req)) + goto out_free; + if (ipv6_opt_accepted(sk, skb, &TCP_SKB_CB(skb)->header.h6) || np->rxopt.bits.rxinfo || np->rxopt.bits.rxoinfo || np->rxopt.bits.rxhlim || np->rxopt.bits.rxohlim) {