diff options
| author | 2010-05-31 00:10:35 -0700 | |
|---|---|---|
| committer | 2010-05-31 00:10:35 -0700 | |
| commit | 92b4522f72916ff2675060e29e4b24cf26ab59ce (patch) | |
| tree | 8424a1c550a98ce09f127425fde9b7b5f2f5027a /net/ipv6/udp.c | |
| parent | Linux 2.6.35-rc1 (diff) | |
| parent | net: fix sk_forward_alloc corruptions (diff) | |
| download | linux-dev-92b4522f72916ff2675060e29e4b24cf26ab59ce.tar.xz linux-dev-92b4522f72916ff2675060e29e4b24cf26ab59ce.zip | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
Diffstat (limited to 'net/ipv6/udp.c')
| -rw-r--r-- | net/ipv6/udp.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv6/udp.c b/net/ipv6/udp.c index 87be58673b55..3048f906c042 100644 --- a/net/ipv6/udp.c +++ b/net/ipv6/udp.c @@ -466,9 +466,11 @@ void __udp6_lib_err(struct sk_buff *skb, struct inet6_skb_parm *opt, if (sk->sk_state != TCP_ESTABLISHED && !np->recverr) goto out; - if (np->recverr) + if (np->recverr) { + bh_lock_sock(sk); ipv6_icmp_error(sk, skb, err, uh->dest, ntohl(info), (u8 *)(uh+1)); - + bh_unlock_sock(sk); + } sk->sk_err = err; sk->sk_error_report(sk); out: |
