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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091113225015.GC29657@elte.hu>
Date:	Fri, 13 Nov 2009 23:50:15 +0100
From:	Ingo Molnar <mingo@...e.hu>
To:	Andrew Morton <akpm@...ux-foundation.org>,
	Peter Zijlstra <a.p.zijlstra@...llo.nl>
Cc:	Russell King <rmk@....linux.org.uk>,
	Soeren Sandmann Pedersen <sandmann@...hat.com>,
	Linux Kernel List <linux-kernel@...r.kernel.org>
Subject: Re: d451564 breakage


* Andrew Morton <akpm@...ux-foundation.org> wrote:

> On Fri, 13 Nov 2009 15:11:19 +0000
> Russell King <rmk@....linux.org.uk> wrote:
> 
> > Change:
> > 
> > highmem: Fix debug_kmap_atomic() to also handle KM_IRQ_PTE, KM_NMI, and KM_NMI_PTE
> > 
> > Appears to break ARM:
> > 
> > mm/highmem.c: In function ___debug_kmap_atomic___:
> > mm/highmem.c:436: error: ___KM_NMI___ undeclared (first use in this function)
> > mm/highmem.c:436: error: (Each undeclared identifier is reported only once
> > mm/highmem.c:436: error: for each function it appears in.)
> > mm/highmem.c:436: error: ___KM_NMI_PTE___ undeclared (first use in this function)
> > mm/highmem.c:443: error: ___KM_IRQ_PTE___ undeclared (first use in this function)
> > make[2]: *** [mm/highmem.o] Error 1
> > make[1]: *** [mm] Error 2
> > 
> > I'd prefer not to have to add these definitions just so that highmem
> > debugging can work for two reasons:
> > 
> > 1. either we allocate mappings for these which will never be used, which
> >    unnecessarily wastes precious virtual memory space.
> > 
> > 2. we define them to be some other KM_* value and hope that they never
> >    get used.  If they do get used, we'll never know by way of compiler
> >    error but could result in silent data corruption.
> > 
> > The only sane alternative I can see would be to define these as KM_TYPE_NR
> > and either ensure that kmap_atomic() always fails for out-of-bounds kmap
> > types (more preferable to catch problems but has a performance impact) or
> > we have the kmap debugging detect this as well.
> > 
> > Any preferences?
> 
> Could we do something nasty with ifdefs?
> 
> In arch header:
> #define KM_NMI KM_NMI
> 
> 
> In generic code:
> #ifdef KM_NMI
> 	<stuff which references KM_NMI>
> #endif
> 
> or similar?

Yeah, that would be the simplest - and all of this will go away with 
Peter's stacked kmaps.

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ