summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric W. Biederman <ebiederm@xmission.com>2015-09-18 14:33:03 -0500
committerPablo Neira Ayuso <pablo@netfilter.org>2015-09-18 21:59:31 +0200
commita4ffe319ae72034e3f3332698a2fd83b6f063b18 (patch)
tree779dcc698d6438487e405a6ccea64dd57cc81afb
parent206e8c00752fbe9cc463184236ac64b2a532cda5 (diff)
downloadop-kernel-dev-a4ffe319ae72034e3f3332698a2fd83b6f063b18.zip
op-kernel-dev-a4ffe319ae72034e3f3332698a2fd83b6f063b18.tar.gz
act_connmark: Remember the struct net instead of guessing it.
Stop guessing the struct net instead of remember it. Guessing is just silly and will be problematic in the future when I implement routes between network namespaces. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--include/net/tc_act/tc_connmark.h1
-rw-r--r--net/sched/act_connmark.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/include/net/tc_act/tc_connmark.h b/include/net/tc_act/tc_connmark.h
index 5c1104c..02caa40 100644
--- a/include/net/tc_act/tc_connmark.h
+++ b/include/net/tc_act/tc_connmark.h
@@ -5,6 +5,7 @@
struct tcf_connmark_info {
struct tcf_common common;
+ struct net *net;
u16 zone;
};
diff --git a/net/sched/act_connmark.c b/net/sched/act_connmark.c
index 5019a47..413ac39 100644
--- a/net/sched/act_connmark.c
+++ b/net/sched/act_connmark.c
@@ -74,7 +74,7 @@ static int tcf_connmark(struct sk_buff *skb, const struct tc_action *a,
zone.id = ca->zone;
zone.dir = NF_CT_DEFAULT_ZONE_DIR;
- thash = nf_conntrack_find_get(dev_net(skb->dev), &zone, &tuple);
+ thash = nf_conntrack_find_get(ca->net, &zone, &tuple);
if (!thash)
goto out;
@@ -119,6 +119,7 @@ static int tcf_connmark_init(struct net *net, struct nlattr *nla,
ci = to_connmark(a);
ci->tcf_action = parm->action;
+ ci->net = net;
ci->zone = parm->zone;
tcf_hash_insert(a);
OpenPOWER on IntegriCloud