File tree Expand file tree Collapse file tree 2 files changed +2
-4
lines changed Expand file tree Collapse file tree 2 files changed +2
-4
lines changed Original file line number Diff line number Diff line change @@ -615,7 +615,7 @@ static int dccp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
615
615
by tcp. Feel free to propose better solution.
616
616
--ANK (980728)
617
617
*/
618
- if (np -> rxopt .all )
618
+ if (np -> rxopt .all && sk -> sk_state != DCCP_LISTEN )
619
619
opt_skb = skb_clone_and_charge_r (skb , sk );
620
620
621
621
if (sk -> sk_state == DCCP_OPEN ) { /* Fast path */
Original file line number Diff line number Diff line change @@ -1463,7 +1463,7 @@ int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
1463
1463
by tcp. Feel free to propose better solution.
1464
1464
--ANK (980728)
1465
1465
*/
1466
- if (np -> rxopt .all )
1466
+ if (np -> rxopt .all && sk -> sk_state != TCP_LISTEN )
1467
1467
opt_skb = skb_clone_and_charge_r (skb , sk );
1468
1468
1469
1469
reason = SKB_DROP_REASON_NOT_SPECIFIED ;
@@ -1502,8 +1502,6 @@ int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
1502
1502
if (nsk != sk ) {
1503
1503
if (tcp_child_process (sk , nsk , skb ))
1504
1504
goto reset ;
1505
- if (opt_skb )
1506
- __kfree_skb (opt_skb );
1507
1505
return 0 ;
1508
1506
}
1509
1507
} else
You can’t perform that action at this time.
0 commit comments