[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>
This commit is contained in:
@@ -86,7 +86,10 @@ EXPORT_SYMBOL(inet_frags_fini);
|
|||||||
void inet_frags_exit_net(struct netns_frags *nf, struct inet_frags *f)
|
void inet_frags_exit_net(struct netns_frags *nf, struct inet_frags *f)
|
||||||
{
|
{
|
||||||
nf->low_thresh = 0;
|
nf->low_thresh = 0;
|
||||||
|
|
||||||
|
local_bh_disable();
|
||||||
inet_frag_evictor(nf, f);
|
inet_frag_evictor(nf, f);
|
||||||
|
local_bh_enable();
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(inet_frags_exit_net);
|
EXPORT_SYMBOL(inet_frags_exit_net);
|
||||||
|
|
||||||
|
@@ -171,7 +171,9 @@ static __inline__ void fq_kill(struct nf_ct_frag6_queue *fq)
|
|||||||
|
|
||||||
static void nf_ct_frag6_evictor(void)
|
static void nf_ct_frag6_evictor(void)
|
||||||
{
|
{
|
||||||
|
local_bh_disable();
|
||||||
inet_frag_evictor(&nf_init_frags, &nf_frags);
|
inet_frag_evictor(&nf_init_frags, &nf_frags);
|
||||||
|
local_bh_enable();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void nf_ct_frag6_expire(unsigned long data)
|
static void nf_ct_frag6_expire(unsigned long data)
|
||||||
|
Reference in New Issue
Block a user