lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Fri, 28 Mar 2008 17:30:58 -0700 (PDT) From: David Miller <davem@...emloft.net> To: davej@...emonkey.org.uk Cc: netdev@...r.kernel.org Subject: Re: Another 2.6.25rc7 lockdep trace From: Dave Jones <davej@...emonkey.org.uk> Date: Thu, 27 Mar 2008 21:54:16 -0400 > stack backtrace: > Pid: 7285, comm: modprobe Not tainted 2.6.25-0.161.rc7.fc9.i686 #1 > [print_usage_bug+266/279] print_usage_bug+0x10a/0x117 > [mark_lock+822/1009] mark_lock+0x336/0x3f1 > [__lock_acquire+1349/3089] __lock_acquire+0x545/0xc11 > [_spin_unlock_irq+34/47] ? _spin_unlock_irq+0x22/0x2f > [lock_acquire+106/144] lock_acquire+0x6a/0x90 > [inet_frag_evictor+60/175] ? inet_frag_evictor+0x3c/0xaf > [_read_lock+28/73] _read_lock+0x1c/0x49 > [inet_frag_evictor+60/175] ? inet_frag_evictor+0x3c/0xaf > [inet_frag_evictor+60/175] inet_frag_evictor+0x3c/0xaf > [<d0e299f2>] nf_ct_frag6_cleanup+0x26/0x28 [nf_conntrack_ipv6] > [<d0e2a3f4>] nf_conntrack_l3proto_ipv6_fini+0x44/0x46 [nf_conntrack_ipv6] Thanks for the report. This should fix it: commit e8e16b706e8406f1ab3bccab16932ebc513896d8 Author: David S. Miller <davem@...emloft.net> Date: Fri Mar 28 17:30:18 2008 -0700 [INET]: inet_frag_evictor() must run with BH disabled Based upon a lockdep trace from Dave Jones. Signed-off-by: David S. Miller <davem@...emloft.net> diff --git a/net/ipv4/inet_fragment.c b/net/ipv4/inet_fragment.c index 724d69a..a0a3c78 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); diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c index 2a0d698..24c0d03 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) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists