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>
This commit is contained in:
parent
206e8c0075
commit
a4ffe319ae
|
@ -5,6 +5,7 @@
|
||||||
|
|
||||||
struct tcf_connmark_info {
|
struct tcf_connmark_info {
|
||||||
struct tcf_common common;
|
struct tcf_common common;
|
||||||
|
struct net *net;
|
||||||
u16 zone;
|
u16 zone;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -74,7 +74,7 @@ static int tcf_connmark(struct sk_buff *skb, const struct tc_action *a,
|
||||||
zone.id = ca->zone;
|
zone.id = ca->zone;
|
||||||
zone.dir = NF_CT_DEFAULT_ZONE_DIR;
|
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)
|
if (!thash)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
@ -119,6 +119,7 @@ static int tcf_connmark_init(struct net *net, struct nlattr *nla,
|
||||||
|
|
||||||
ci = to_connmark(a);
|
ci = to_connmark(a);
|
||||||
ci->tcf_action = parm->action;
|
ci->tcf_action = parm->action;
|
||||||
|
ci->net = net;
|
||||||
ci->zone = parm->zone;
|
ci->zone = parm->zone;
|
||||||
|
|
||||||
tcf_hash_insert(a);
|
tcf_hash_insert(a);
|
||||||
|
|
Loading…
Reference in New Issue