summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-04-22 00:46:17 +0200
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-22 00:46:17 +0200
commit529a41e36673b518c9e091f3a8d932b6b9e3c461 (patch)
tree12416411590cb5d2b7f365f3800e31306909d6ce /net
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/hsk... (diff)
parentrose: Socket lock was not released before returning to user space (diff)
downloadlinux-529a41e36673b518c9e091f3a8d932b6b9e3c461.tar.xz
linux-529a41e36673b518c9e091f3a8d932b6b9e3c461.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: rose: Socket lock was not released before returning to user space hci_usb: remove code obfuscation drivers/net/appletalk: use time_before, time_before_eq, etc drivers/atm: use time_before, time_before_eq, etc hci_usb: do not initialize static variables to 0 tg3: 5701 DMA corruption fix atm nicstar: Removal of debug code containing deprecated calls to cli()/sti() iwlwifi: Fix unconditional access to station->tidp[].agg. netfilter: Fix SIP conntrack build with NAT disabled. netfilter: Fix SCTP nat build.
Diffstat (limited to 'net')
-rw-r--r--net/ipv4/netfilter/Kconfig1
-rw-r--r--net/netfilter/nf_conntrack_sip.c3
-rw-r--r--net/rose/af_rose.c6
3 files changed, 7 insertions, 3 deletions
diff --git a/net/ipv4/netfilter/Kconfig b/net/ipv4/netfilter/Kconfig
index 0c95cd5872f3..2767841a8cef 100644
--- a/net/ipv4/netfilter/Kconfig
+++ b/net/ipv4/netfilter/Kconfig
@@ -259,6 +259,7 @@ config NF_NAT_PROTO_SCTP
tristate
default NF_NAT && NF_CT_PROTO_SCTP
depends on NF_NAT && NF_CT_PROTO_SCTP
+ select LIBCRC32C
config NF_NAT_FTP
tristate
diff --git a/net/netfilter/nf_conntrack_sip.c b/net/netfilter/nf_conntrack_sip.c
index 65b3ba57a3b7..9f4900069561 100644
--- a/net/netfilter/nf_conntrack_sip.c
+++ b/net/netfilter/nf_conntrack_sip.c
@@ -781,7 +781,7 @@ static int set_expected_rtp_rtcp(struct sk_buff *skb,
nfct_help(exp->master)->helper != nfct_help(ct)->helper ||
exp->class != class)
break;
-
+#ifdef CONFIG_NF_NAT_NEEDED
if (exp->tuple.src.l3num == AF_INET && !direct_rtp &&
(exp->saved_ip != exp->tuple.dst.u3.ip ||
exp->saved_proto.udp.port != exp->tuple.dst.u.udp.port) &&
@@ -791,6 +791,7 @@ static int set_expected_rtp_rtcp(struct sk_buff *skb,
tuple.dst.u.udp.port = exp->saved_proto.udp.port;
direct_rtp = 1;
} else
+#endif
skip_expect = 1;
} while (!skip_expect);
rcu_read_unlock();
diff --git a/net/rose/af_rose.c b/net/rose/af_rose.c
index d1ff3f885c5d..1ebf65294405 100644
--- a/net/rose/af_rose.c
+++ b/net/rose/af_rose.c
@@ -760,8 +760,10 @@ static int rose_connect(struct socket *sock, struct sockaddr *uaddr, int addr_le
rose->neighbour = rose_get_neigh(&addr->srose_addr, &cause,
&diagnostic);
- if (!rose->neighbour)
- return -ENETUNREACH;
+ if (!rose->neighbour) {
+ err = -ENETUNREACH;
+ goto out_release;
+ }
rose->lci = rose_new_lci(rose->neighbour);
if (!rose->lci) {