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 @@ -618,7 +618,7 @@ static int dccp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
618
618
by tcp. Feel free to propose better solution.
619
619
--ANK (980728)
620
620
*/
621
- if (np -> rxopt .all )
621
+ if (np -> rxopt .all && sk -> sk_state != DCCP_LISTEN )
622
622
opt_skb = skb_clone_and_charge_r (skb , sk );
623
623
624
624
if (sk -> sk_state == DCCP_OPEN ) { /* Fast path */
Original file line number Diff line number Diff line change @@ -1621,7 +1621,7 @@ int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
1621
1621
by tcp. Feel free to propose better solution.
1622
1622
--ANK (980728)
1623
1623
*/
1624
- if (np -> rxopt .all )
1624
+ if (np -> rxopt .all && sk -> sk_state != TCP_LISTEN )
1625
1625
opt_skb = skb_clone_and_charge_r (skb , sk );
1626
1626
1627
1627
if (sk -> sk_state == TCP_ESTABLISHED ) { /* Fast path */
@@ -1659,8 +1659,6 @@ int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
1659
1659
if (reason )
1660
1660
goto reset ;
1661
1661
}
1662
- if (opt_skb )
1663
- __kfree_skb (opt_skb );
1664
1662
return 0 ;
1665
1663
}
1666
1664
} else
You can’t perform that action at this time.
0 commit comments