d451564 breakage

From: Russell King
Date: Fri Nov 13 2009 - 10:13:02 EST


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?

--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/