summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorDaniel Lezcano <dlezcano@fr.ibm.com>2008-05-02 17:02:03 -0700
committerDavid S. Miller <davem@davemloft.net>2008-05-02 17:02:03 -0700
commit4ac2ccd01646e08d7176185c94e5b19404a25998 (patch)
tree79383a61dce3bd1c29bc6a27b9d17633dca72ac0 /net
parentaaf8cdc34ddba08122f02217d9d684e2f9f5d575 (diff)
downloadkernel-crypto-4ac2ccd01646e08d7176185c94e5b19404a25998.tar.gz
kernel-crypto-4ac2ccd01646e08d7176185c94e5b19404a25998.tar.xz
kernel-crypto-4ac2ccd01646e08d7176185c94e5b19404a25998.zip
netns: Fix reassembly timer to use the right namespace
This trivial fix retrieves the network namespace from frag queue and use it to get the network device in the right namespace. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r--net/ipv6/reassembly.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c
index 7b247e3a16f..798cabc7535 100644
--- a/net/ipv6/reassembly.c
+++ b/net/ipv6/reassembly.c
@@ -197,6 +197,7 @@ static void ip6_frag_expire(unsigned long data)
{
struct frag_queue *fq;
struct net_device *dev = NULL;
+ struct net *net;
fq = container_of((struct inet_frag_queue *)data, struct frag_queue, q);
@@ -207,7 +208,8 @@ static void ip6_frag_expire(unsigned long data)
fq_kill(fq);
- dev = dev_get_by_index(&init_net, fq->iif);
+ net = container_of(fq->q.net, struct net, ipv6.frags);
+ dev = dev_get_by_index(net, fq->iif);
if (!dev)
goto out;