linux-stable/arch/x86/mm
Arjan van de Ven 488fd99588 x86: fix pageattr-selftest
In Ingo's testing, he found a bug in the CPA selftest code. What would
happen is that the test would call change_page_attr_addr on a range of
memory, part of which was read only, part of which was writable. The
only thing the test wanted to change was the global bit...

What actually happened was that the selftest would take the permissions
of the first page, and then the change_page_attr_addr call would then
set the permissions of the entire range to this first page. In the
rodata section case, this resulted in pages after the .rodata becoming
read only... which made the kernel rather unhappy in many interesting
ways.

This is just another example of how dangerous the cpa API is (was); this
patch changes the test to use the incremental clear/set APIs
instead, and it changes the clear/set implementation to work on a 1 page
at a time basis.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
2008-01-30 13:34:07 +01:00
..
discontig_32.c x86: make NUMA work on 32-bit 2008-01-30 13:33:25 +01:00
extable.c x86: unify extable_{32|64}.c 2008-01-30 13:31:41 +01:00
fault_32.c x86: return the page table level in lookup_address() 2008-01-30 13:33:43 +01:00
fault_64.c x86: update reliability argument to printk_address 2008-01-30 13:33:24 +01:00
highmem_32.c x86: kmap_atomic() debugging 2008-01-30 13:30:47 +01:00
hugetlbpage.c x86: demacro asm-x86/pgalloc_32.h 2008-01-30 13:33:39 +01:00
init_32.c x86: cpa: move flush to cpa 2008-01-30 13:34:07 +01:00
init_64.c x86: cpa: move flush to cpa 2008-01-30 13:34:07 +01:00
ioremap.c x86: cpa: move flush to cpa 2008-01-30 13:34:07 +01:00
k8topology_64.c x86: clean up k8topology.c 2008-01-30 13:32:36 +01:00
Makefile x86_64: move mm 2007-10-11 11:17:18 +02:00
Makefile_32 x86: make various pageattr.c functions static 2008-01-30 13:34:07 +01:00
Makefile_64 x86: make various pageattr.c functions static 2008-01-30 13:34:07 +01:00
mmap.c x86: unify mmap_{32|64}.c 2008-01-30 13:31:10 +01:00
numa_64.c x86: early cpu_to_node fix in numa_64.c 2008-01-30 13:33:33 +01:00
pageattr-test.c x86: fix pageattr-selftest 2008-01-30 13:34:07 +01:00
pageattr.c x86: fix pageattr-selftest 2008-01-30 13:34:07 +01:00
pgtable_32.c x86: allocate and initialize unshared pmds 2008-01-30 13:33:40 +01:00
srat_64.c x86: fix section mismatch warning in srat_64.c 2008-01-30 13:33:37 +01:00