dccp: do not assume DCCP code is non preemptible
DCCP uses the generic backlog code, and this will soon be changed to not disable BH when protocol is called back. Signed-off-by: Eric Dumazet <edumazet@google.com> Acked-by: Soheil Hassas Yeganeh <soheil@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
fb3477c0f4
commit
7309f8821f
|
@ -359,7 +359,7 @@ static int __dccp_rcv_established(struct sock *sk, struct sk_buff *skb,
|
||||||
goto discard;
|
goto discard;
|
||||||
}
|
}
|
||||||
|
|
||||||
__DCCP_INC_STATS(DCCP_MIB_INERRS);
|
DCCP_INC_STATS(DCCP_MIB_INERRS);
|
||||||
discard:
|
discard:
|
||||||
__kfree_skb(skb);
|
__kfree_skb(skb);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -533,8 +533,8 @@ static void dccp_v4_ctl_send_reset(const struct sock *sk, struct sk_buff *rxskb)
|
||||||
bh_unlock_sock(ctl_sk);
|
bh_unlock_sock(ctl_sk);
|
||||||
|
|
||||||
if (net_xmit_eval(err) == 0) {
|
if (net_xmit_eval(err) == 0) {
|
||||||
__DCCP_INC_STATS(DCCP_MIB_OUTSEGS);
|
DCCP_INC_STATS(DCCP_MIB_OUTSEGS);
|
||||||
__DCCP_INC_STATS(DCCP_MIB_OUTRSTS);
|
DCCP_INC_STATS(DCCP_MIB_OUTRSTS);
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
dst_release(dst);
|
dst_release(dst);
|
||||||
|
|
|
@ -277,8 +277,8 @@ static void dccp_v6_ctl_send_reset(const struct sock *sk, struct sk_buff *rxskb)
|
||||||
if (!IS_ERR(dst)) {
|
if (!IS_ERR(dst)) {
|
||||||
skb_dst_set(skb, dst);
|
skb_dst_set(skb, dst);
|
||||||
ip6_xmit(ctl_sk, skb, &fl6, NULL, 0);
|
ip6_xmit(ctl_sk, skb, &fl6, NULL, 0);
|
||||||
__DCCP_INC_STATS(DCCP_MIB_OUTSEGS);
|
DCCP_INC_STATS(DCCP_MIB_OUTSEGS);
|
||||||
__DCCP_INC_STATS(DCCP_MIB_OUTRSTS);
|
DCCP_INC_STATS(DCCP_MIB_OUTRSTS);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -253,7 +253,7 @@ int dccp_parse_options(struct sock *sk, struct dccp_request_sock *dreq,
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
out_invalid_option:
|
out_invalid_option:
|
||||||
__DCCP_INC_STATS(DCCP_MIB_INVALIDOPT);
|
DCCP_INC_STATS(DCCP_MIB_INVALIDOPT);
|
||||||
rc = DCCP_RESET_CODE_OPTION_ERROR;
|
rc = DCCP_RESET_CODE_OPTION_ERROR;
|
||||||
out_featneg_failed:
|
out_featneg_failed:
|
||||||
DCCP_WARN("DCCP(%p): Option %d (len=%d) error=%u\n", sk, opt, len, rc);
|
DCCP_WARN("DCCP(%p): Option %d (len=%d) error=%u\n", sk, opt, len, rc);
|
||||||
|
|
Loading…
Reference in New Issue