summaryrefslogtreecommitdiff
path: root/net/ipv4/inet_fragment.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-03-29 03:30:18 +0300
committerDavid S. Miller <davem@davemloft.net>2008-03-29 03:30:18 +0300
commite8e16b706e8406f1ab3bccab16932ebc513896d8 (patch)
tree75b52bb42601756995a1ffba206608f3f97b6df5 /net/ipv4/inet_fragment.c
parent0ef4730927c54cac5006759fa0cf50fbeff9d191 (diff)
downloadlinux-e8e16b706e8406f1ab3bccab16932ebc513896d8.tar.xz
[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/ipv4/inet_fragment.c')
-rw-r--r--net/ipv4/inet_fragment.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv4/inet_fragment.c b/net/ipv4/inet_fragment.c
index 724d69aed031..a0a3c78cb5e0 100644
--- a/net/ipv4/inet_fragment.c
+++ b/net/ipv4/inet_fragment.c
@@ -86,7 +86,10 @@ EXPORT_SYMBOL(inet_frags_fini);
void inet_frags_exit_net(struct netns_frags *nf, struct inet_frags *f)
{
nf->low_thresh = 0;
+
+ local_bh_disable();
inet_frag_evictor(nf, f);
+ local_bh_enable();
}
EXPORT_SYMBOL(inet_frags_exit_net);