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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 23 Feb 2012 12:53:48 +0100
From:	Eric Dumazet <eric.dumazet@...il.com>
To:	Francois Romieu <romieu@...zoreil.com>
Cc:	Shreyas Bhatewara <sbhatewara@...are.com>,
	Jongman Heo <jongman.heo@...sung.com>,
	"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
	"Scott J. Goldman" <scottjg@...are.com>,
	VMware PV-Drivers <pv-drivers@...are.com>,
	Peter Zijlstra <peterz@...radead.org>
Subject: Re: Re: WARNING: at kernel/softirq.c:159
 _local_bh_enable_ip+0x35/0x71()

Le jeudi 23 février 2012 à 11:42 +0100, Francois Romieu a écrit :
> (Heo, your mua broke threading)
> 
> Jongman Heo <jongman.heo@...sung.com> :
> > Francois Romieu<romieu@...zoreil.com>
> > > > Jongman Heo <jongman.heo@...sung.com> :
> > > > Following warning triggered with my VMware Linux guest, when NFS connection is requested from outside.
> > > 
> > > I'd try reverting 39d4a96fd7d2926e46151adbd18b810aeeea8ec0.
> [...]
> > I confirm that reverting the commit fixes the warning.
> 
> Shreyas, can you provide a proper fix for this bug (see
> http://www.spinics.net/lists/netdev/msg189554.html for details).
> 
> As far as I understand it you can not claim a fake transport layer header
> size for udp and blindly check the available buffer size through
> pskb_may_pull later. With a 32 bits HIGHMEM guest config (yuck...) it ends
> up enabling bh within a network device start_xmit context.
> 

Hmm, I am not sure we still need local_bh_disable()/local_bh_enable() in
kmap_skb_frag()/ kunmap_skb_frag() anymore after commit 3e4d3af501ccc
(mm: stack based kmap_atomic() )

diff --git a/net/core/kmap_skb.h b/net/core/kmap_skb.h
index 81e1ed7..06be5ee 100644
--- a/net/core/kmap_skb.h
+++ b/net/core/kmap_skb.h
@@ -2,18 +2,10 @@
 
 static inline void *kmap_skb_frag(const skb_frag_t *frag)
 {
-#ifdef CONFIG_HIGHMEM
-	BUG_ON(in_irq());
-
-	local_bh_disable();
-#endif
 	return kmap_atomic(skb_frag_page(frag), KM_SKB_DATA_SOFTIRQ);
 }
 
 static inline void kunmap_skb_frag(void *vaddr)
 {
 	kunmap_atomic(vaddr, KM_SKB_DATA_SOFTIRQ);
-#ifdef CONFIG_HIGHMEM
-	local_bh_enable();
-#endif
 }


--
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