summaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-03-29 01:30:18 +0100
committerDavid S. Miller <davem@davemloft.net>2008-03-29 01:30:18 +0100
commite8e16b706e8406f1ab3bccab16932ebc513896d8 (patch)
tree75b52bb42601756995a1ffba206608f3f97b6df5 /net/ipv6
parentnet: Comment dev_kfree_skb_irq and dev_kfree_skb_any better (diff)
downloadlinux-e8e16b706e8406f1ab3bccab16932ebc513896d8.tar.xz
linux-e8e16b706e8406f1ab3bccab16932ebc513896d8.zip
[INET]: inet_frag_evictor() must run with BH disabled
Based upon a lockdep trace from Dave Jones. Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/netfilter/nf_conntrack_reasm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c
index 2a0d698b24d5..24c0d03095bf 100644
--- a/net/ipv6/netfilter/nf_conntrack_reasm.c
+++ b/net/ipv6/netfilter/nf_conntrack_reasm.c
@@ -171,7 +171,9 @@ static __inline__ void fq_kill(struct nf_ct_frag6_queue *fq)
static void nf_ct_frag6_evictor(void)
{
+ local_bh_disable();
inet_frag_evictor(&nf_init_frags, &nf_frags);
+ local_bh_enable();
}
static void nf_ct_frag6_expire(unsigned long data)