diff options
Diffstat (limited to 'net/dccp/ipv6.c')
-rw-r--r-- | net/dccp/ipv6.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index a08e2cb11915..f42b75ce7f5c 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c | |||
@@ -415,11 +415,12 @@ static int dccp_v6_conn_request(struct sock *sk, struct sk_buff *skb) | |||
415 | if (req == NULL) | 415 | if (req == NULL) |
416 | goto drop; | 416 | goto drop; |
417 | 417 | ||
418 | if (dccp_parse_options(sk, skb)) | ||
419 | goto drop_and_free; | ||
420 | |||
421 | dccp_reqsk_init(req, skb); | 418 | dccp_reqsk_init(req, skb); |
422 | 419 | ||
420 | dreq = dccp_rsk(req); | ||
421 | if (dccp_parse_options(sk, dreq, skb)) | ||
422 | goto drop_and_free; | ||
423 | |||
423 | if (security_inet_conn_request(sk, skb, req)) | 424 | if (security_inet_conn_request(sk, skb, req)) |
424 | goto drop_and_free; | 425 | goto drop_and_free; |
425 | 426 | ||
@@ -449,7 +450,6 @@ static int dccp_v6_conn_request(struct sock *sk, struct sk_buff *skb) | |||
449 | * In fact we defer setting S.GSR, S.SWL, S.SWH to | 450 | * In fact we defer setting S.GSR, S.SWL, S.SWH to |
450 | * dccp_create_openreq_child. | 451 | * dccp_create_openreq_child. |
451 | */ | 452 | */ |
452 | dreq = dccp_rsk(req); | ||
453 | dreq->dreq_isr = dcb->dccpd_seq; | 453 | dreq->dreq_isr = dcb->dccpd_seq; |
454 | dreq->dreq_iss = dccp_v6_init_sequence(skb); | 454 | dreq->dreq_iss = dccp_v6_init_sequence(skb); |
455 | dreq->dreq_service = service; | 455 | dreq->dreq_service = service; |