lkml.org 
[lkml]   [2009]   [Nov]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: d451564 breakage
On Sat, Nov 14, 2009 at 01:21:38AM +0100, Ingo Molnar wrote:
> What i was thinking of was a really simple thing in highmem.c (or
> rather, in include/linux/highmem.h, after kmap_types.h gets included):
>
> #ifndef KM_NMI
> # define KM_NMI -1
> #endif
> #ifndef KM_NMI_PTE
> # define KM_NMI_PTE -1
> #endif
>
> etc.

That means we need to ensure that kmap_atomic() fails when these are
used, to avoid kmap_atomic corrupting virtual mappings below the kmap
area should one of these be used. That means additional run-time code
in all those implementations - I'd much rather leave that to someone
else to do.

Alternatively, they could be wrapped with CONFIG_DEBUG_HIGHMEM so they
aren't normally visible.

In any case, as I've already pointed out, we still need to add definitions
to all places which define these constants. Having them exist as enum
constants does not make them visible to the preprocessor.

I don't think it's as simple as you're trying to make it. However,
since you seem to have a solid idea which you're trying to get me to
implement, maybe it'd just be much simpler and faster if you provided
that patch.

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:


\
 
 \ /
  Last update: 2009-11-14 09:23    [W:0.442 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site