linux-stable/arch/s390/mm
Jan Glauber 448694a1d5 module: undo module RONX protection correctly.
While debugging I stumbled over two problems in the code that protects module
pages.

First issue is that disabling the protection before freeing init or unload of
a module is not symmetric with the enablement. For instance, if pages are set
to RO the page range from module_core to module_core + core_ro_size is
protected. If a module is unloaded the page range from module_core to
module_core + core_size is set back to RW.
So pages that were not set to RO are also changed to RW.
This is not critical but IMHO it should be symmetric.

Second issue is that while set_memory_rw & set_memory_ro are used for
RO/RW changes only set_memory_nx is involved for NX/X. One would await that
the inverse function is called when the NX protection should be removed,
which is not the case here, unless I'm missing something.

Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2011-05-19 16:55:26 +09:30
..
cmm.c [S390] replace diag10() with diag10_range() function 2011-05-10 17:13:43 +02:00
extmem.c [S390] appldata/extmem/kvm: add missing GFP_KERNEL flag 2010-06-08 18:58:23 +02:00
fault.c [S390] irqstats: fix counting of pfault, dasd diag and virtio irqs 2011-04-29 10:42:25 +02:00
gup.c [S390] fix get_user_pages_fast 2010-11-10 10:05:53 +01:00
hugetlbpage.c [S390] lockless get_user_pages_fast() 2010-10-25 16:10:15 +02:00
init.c [S390] store indication fault optimization 2010-10-25 16:10:15 +02:00
maccess.c Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
Makefile [S390] Write protect module text and RO data 2011-03-15 17:08:23 +01:00
mmap.c [S390] Randomize mmap start address 2011-01-12 09:55:25 +01:00
page-states.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pageattr.c module: undo module RONX protection correctly. 2011-05-19 16:55:26 +09:30
pgtable.c [S390] pgtable_list corruption 2011-01-31 11:30:20 +01:00
vmem.c mm: provide init_mm mm_context initializer 2010-08-09 20:44:54 -07:00