netfilter-devel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Pablo Neira Ayuso <pablo@netfilter.org>
To: netfilter-devel@vger.kernel.org
Cc: davem@davemloft.net, netdev@vger.kernel.org
Subject: [PATCH 15/17] netfilter: nf_conntrack_h323: lookup route from proper net namespace
Date: Mon, 24 Nov 2014 14:27:52 +0100	[thread overview]
Message-ID: <1416835674-11871-16-git-send-email-pablo@netfilter.org> (raw)
In-Reply-To: <1416835674-11871-1-git-send-email-pablo@netfilter.org>

From: Vasily Averin <vvs@parallels.com>

Signed-off-by: Vasily Averin <vvs@parallels.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
 net/netfilter/nf_conntrack_h323_main.c |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/net/netfilter/nf_conntrack_h323_main.c b/net/netfilter/nf_conntrack_h323_main.c
index 3a3a60b..1d69f5b 100644
--- a/net/netfilter/nf_conntrack_h323_main.c
+++ b/net/netfilter/nf_conntrack_h323_main.c
@@ -728,7 +728,8 @@ static int expect_h245(struct sk_buff *skb, struct nf_conn *ct,
 
 /* If the calling party is on the same side of the forward-to party,
  * we don't need to track the second call */
-static int callforward_do_filter(const union nf_inet_addr *src,
+static int callforward_do_filter(struct net *net,
+				 const union nf_inet_addr *src,
 				 const union nf_inet_addr *dst,
 				 u_int8_t family)
 {
@@ -750,9 +751,9 @@ static int callforward_do_filter(const union nf_inet_addr *src,
 
 		memset(&fl2, 0, sizeof(fl2));
 		fl2.daddr = dst->ip;
-		if (!afinfo->route(&init_net, (struct dst_entry **)&rt1,
+		if (!afinfo->route(net, (struct dst_entry **)&rt1,
 				   flowi4_to_flowi(&fl1), false)) {
-			if (!afinfo->route(&init_net, (struct dst_entry **)&rt2,
+			if (!afinfo->route(net, (struct dst_entry **)&rt2,
 					   flowi4_to_flowi(&fl2), false)) {
 				if (rt_nexthop(rt1, fl1.daddr) ==
 				    rt_nexthop(rt2, fl2.daddr) &&
@@ -774,9 +775,9 @@ static int callforward_do_filter(const union nf_inet_addr *src,
 
 		memset(&fl2, 0, sizeof(fl2));
 		fl2.daddr = dst->in6;
-		if (!afinfo->route(&init_net, (struct dst_entry **)&rt1,
+		if (!afinfo->route(net, (struct dst_entry **)&rt1,
 				   flowi6_to_flowi(&fl1), false)) {
-			if (!afinfo->route(&init_net, (struct dst_entry **)&rt2,
+			if (!afinfo->route(net, (struct dst_entry **)&rt2,
 					   flowi6_to_flowi(&fl2), false)) {
 				if (ipv6_addr_equal(rt6_nexthop(rt1),
 						    rt6_nexthop(rt2)) &&
@@ -807,6 +808,7 @@ static int expect_callforwarding(struct sk_buff *skb,
 	__be16 port;
 	union nf_inet_addr addr;
 	struct nf_conntrack_expect *exp;
+	struct net *net = nf_ct_net(ct);
 	typeof(nat_callforwarding_hook) nat_callforwarding;
 
 	/* Read alternativeAddress */
@@ -816,7 +818,7 @@ static int expect_callforwarding(struct sk_buff *skb,
 	/* If the calling party is on the same side of the forward-to party,
 	 * we don't need to track the second call */
 	if (callforward_filter &&
-	    callforward_do_filter(&addr, &ct->tuplehash[!dir].tuple.src.u3,
+	    callforward_do_filter(net, &addr, &ct->tuplehash[!dir].tuple.src.u3,
 				  nf_ct_l3num(ct))) {
 		pr_debug("nf_ct_q931: Call Forwarding not tracked\n");
 		return 0;
-- 
1.7.10.4

  parent reply	other threads:[~2014-11-24 13:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-24 13:27 [PATCH 00/17] netfilter/ipvs updates for net-next Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 01/17] netfilter: refactor NAT redirect IPv4 to use it from nf_tables Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 02/17] netfilter: refactor NAT redirect IPv6 code " Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 03/17] netfilter: nf_tables: add new expression nft_redir Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 04/17] ipvs: remove unnecessary assignment in __ip_vs_get_out_rt Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 05/17] netfilter: nf_log: Introduce nft_log_dereference() macro Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 06/17] netfilter: log: protect nf_log_register against double registering Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 07/17] netfilter: fix spelling errors Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 08/17] netfilter: nf_log: fix sparse warning in nf_logger_find_get() Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 09/17] netfilter: nft_meta: add cgroup support Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 10/17] netfilter: fix unmet dependencies in NETFILTER_XT_TARGET_REDIRECT Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 11/17] netfilter: nft_redir: fix sparse warnings Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 12/17] netfilter: fix various " Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 13/17] netfilter: nfnetlink_log: remove unnecessary error messages Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 14/17] netfilter: xt_connlimit: honor conntrack zone if available Pablo Neira Ayuso
2014-11-24 13:27 ` Pablo Neira Ayuso [this message]
2014-11-24 13:27 ` [PATCH 16/17] netfilter: Deletion of unnecessary checks before two function calls Pablo Neira Ayuso
2014-11-24 13:27 ` [PATCH 17/17] netfilter: nfnetlink_log: Make use of pr_fmt where applicable Pablo Neira Ayuso
2014-11-24 21:01 ` [PATCH 00/17] netfilter/ipvs updates for net-next David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1416835674-11871-16-git-send-email-pablo@netfilter.org \
    --to=pablo@netfilter.org \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=netfilter-devel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).