linux/arch
Jeremy Fitzhardinge 9585116ba0 i386: fix iounmap's use of vm_struct's size field
get_vm_area always returns an area with an adjacent guard page.  That guard
page is included in vm_struct.size.  iounmap uses vm_struct.size to
determine how much address space needs to have change_page_attr applied to
it, which will BUG if applied to the guard page.

This patch adds a helper function - get_vm_area_size() in linux/vmalloc.h -
to return the actual size of a vm area, and uses it to make iounmap do the
right thing.  There are probably other places which should be using
get_vm_area_size().

Thanks to Dave Young <hidave.darkstar@gmail.com> for debugging the
problem.

[ Andi, it wasn't clear to me whether x86_64 needs the same fix. ]

Signed-off-by: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: Dave Young <hidave.darkstar@gmail.com>
Cc: Chuck Ebbert <cebbert@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-21 18:37:14 -07:00
..
alpha some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
arm clockevents: fix resume logic 2007-07-21 17:49:15 -07:00
arm26 mm: Remove slab destructors from kmem_cache_create(). 2007-07-20 10:11:58 +09:00
avr32 mm: fault feedback #2 2007-07-19 10:04:41 -07:00
blackfin some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
cris Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-07-19 14:28:19 -07:00
frv FRV: work around a possible compiler bug 2007-07-19 10:04:50 -07:00
h8300 PTRACE_POKEDATA consolidation 2007-07-17 10:23:03 -07:00
i386 i386: fix iounmap's use of vm_struct's size field 2007-07-21 18:37:14 -07:00
ia64 revert "PIE randomization" 2007-07-21 17:49:14 -07:00
m32r Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 2007-07-19 14:24:57 -07:00
m68k m68k: exclude more unbuildable drivers 2007-07-20 08:24:49 -07:00
m68knommu m68knommu: reformat show_cpuinfo() 2007-07-20 08:44:20 -07:00
mips [MIPS] User stack pointer randomisation 2007-07-20 18:57:40 +01:00
parisc define new percpu interface for shared data 2007-07-19 10:04:44 -07:00
powerpc spufs: make signal-notification files readonly for NOSCHED contexts 2007-07-21 17:49:16 -07:00
ppc Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6 2007-07-19 14:24:57 -07:00
s390 s390: Put allocated ELF notes in read-only data segment 2007-07-19 10:04:47 -07:00
sh clockevents: fix resume logic 2007-07-21 17:49:15 -07:00
sh64 sh64: Flag sh64_get_page() as __init_refok. 2007-07-20 17:46:42 +09:00
sparc [SPARC]: Make sure dev_archdata is filled in for all devices. 2007-07-20 17:13:42 -07:00
sparc64 NTP: move the cmos update code into ntp.c 2007-07-21 17:49:15 -07:00
um fallout from kbuild changes 2007-07-19 18:37:54 -07:00
v850 PTRACE_POKEDATA consolidation 2007-07-17 10:23:03 -07:00
x86_64 x86_64: move iommu declaration from proto to iommu.h 2007-07-21 18:37:14 -07:00
xtensa Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild 2007-07-19 14:28:19 -07:00