diff options
author | Arnaldo Carvalho de Melo <acme@mandriva.com> | 2006-11-16 11:06:06 -0500 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-12-03 00:23:51 -0500 |
commit | 58a5a7b9555ea231b557ebef5cabeaf8e951df0b (patch) | |
tree | 9dac36b3483e9667a967f79982c965abd707e03d /net/dccp/ipv6.c | |
parent | e523a1550e877f8a8ff87a50269b7ee7bfb43464 (diff) |
[NET]: Conditionally use bh_lock_sock_nested in sk_receive_skb
Spotted by Ian McDonald, tentatively fixed by Gerrit Renker:
http://www.mail-archive.com/dccp%40vger.kernel.org/msg00599.html
Rewritten not to unroll sk_receive_skb, in the common case, i.e. no lock
debugging, its optimized away.
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>
Diffstat (limited to 'net/dccp/ipv6.c')
-rw-r--r-- | net/dccp/ipv6.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index 6eda430ae92..03bb8298250 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c | |||
@@ -888,7 +888,7 @@ static int dccp_v6_rcv(struct sk_buff **pskb) | |||
888 | if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb)) | 888 | if (!xfrm6_policy_check(sk, XFRM_POLICY_IN, skb)) |
889 | goto discard_and_relse; | 889 | goto discard_and_relse; |
890 | 890 | ||
891 | return sk_receive_skb(sk, skb) ? -1 : 0; | 891 | return sk_receive_skb(sk, skb, 1) ? -1 : 0; |
892 | 892 | ||
893 | no_dccp_socket: | 893 | no_dccp_socket: |
894 | if (!xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) | 894 | if (!xfrm6_policy_check(NULL, XFRM_POLICY_IN, skb)) |