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 @@ -616,7 +616,7 @@ static int dccp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
616
616
by tcp. Feel free to propose better solution.
617
617
--ANK (980728)
618
618
*/
619
- if (np -> rxopt .all )
619
+ if (np -> rxopt .all && sk -> sk_state != DCCP_LISTEN )
620
620
opt_skb = skb_clone_and_charge_r (skb , sk );
621
621
622
622
if (sk -> sk_state == DCCP_OPEN ) { /* Fast path */
Original file line number Diff line number Diff line change @@ -1615,7 +1615,7 @@ int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
1615
1615
by tcp. Feel free to propose better solution.
1616
1616
--ANK (980728)
1617
1617
*/
1618
- if (np -> rxopt .all )
1618
+ if (np -> rxopt .all && sk -> sk_state != TCP_LISTEN )
1619
1619
opt_skb = skb_clone_and_charge_r (skb , sk );
1620
1620
1621
1621
reason = SKB_DROP_REASON_NOT_SPECIFIED ;
@@ -1654,8 +1654,6 @@ int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
1654
1654
if (nsk != sk ) {
1655
1655
if (tcp_child_process (sk , nsk , skb ))
1656
1656
goto reset ;
1657
- if (opt_skb )
1658
- __kfree_skb (opt_skb );
1659
1657
return 0 ;
1660
1658
}
1661
1659
} else
You can’t perform that action at this time.
0 commit comments