30 Oct, 2011
1 commit
-
Add prototypes and includes for functions used in different modules.
Signed-off-by: Martin Schwidefsky
23 May, 2011
1 commit
-
Rework the architecture page table functions to access the bits in the
page table extension array (pgste). There are a number of changes:
1) Fix missing pgste update if the attach_count for the mm is
19 May, 2011
1 commit
-
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
Signed-off-by: Rusty Russell
20 Apr, 2011
1 commit
-
The page table walk for changing page attributes used the wrong
address for pgd/pud/pmd lookups if the range was bigger than
a pmd entry. Fix the lookup by using the correct address.Signed-off-by: Jan Glauber
Signed-off-by: Martin Schwidefsky
16 Mar, 2011
1 commit
-
Implement write protection for kernel modules text and read-only
data sections by implementing set_memory_[ro|rw] on s390.
Since s390 has no execute bit in the pte's NX is not supported.set_memory_[ro|rw] will only work on normal pages and not on
large pages, so in case a large page should be modified bail
out with a warning.Signed-off-by: Jan Glauber
Signed-off-by: Martin Schwidefsky