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)
618618 by tcp. Feel free to propose better solution.
619619 --ANK (980728)
620620 */
621- if (np -> rxopt .all )
621+ if (np -> rxopt .all && sk -> sk_state != DCCP_LISTEN )
622622 opt_skb = skb_clone_and_charge_r (skb , sk );
623623
624624 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)
16211621 by tcp. Feel free to propose better solution.
16221622 --ANK (980728)
16231623 */
1624- if (np -> rxopt .all )
1624+ if (np -> rxopt .all && sk -> sk_state != TCP_LISTEN )
16251625 opt_skb = skb_clone_and_charge_r (skb , sk );
16261626
16271627 if (sk -> sk_state == TCP_ESTABLISHED ) { /* Fast path */
@@ -1659,8 +1659,6 @@ int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb)
16591659 if (reason )
16601660 goto reset ;
16611661 }
1662- if (opt_skb )
1663- __kfree_skb (opt_skb );
16641662 return 0 ;
16651663 }
16661664 } else
You can’t perform that action at this time.
0 commit comments