• Rusty Russell's avatar
    module: clean up RO/NX handling. · 85c898db
    Rusty Russell authored
    Modules have three sections: text, rodata and writable data.  The code
    handled the case where these overlapped, however they never can:
    debug_align() ensures they are always page-aligned.
    
    This is why we got away with manually traversing the pages in
    set_all_modules_text_rw() without rounding.
    
    We create three helper functions: frob_text(), frob_rodata() and
    frob_writable_data().  We then call these explicitly at every point,
    so it's clear what we're doing.
    
    We also expose module_enable_ro() and module_disable_ro() for
    livepatch to use.
    Reviewed-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
    Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    85c898db
Name
Last commit
Last update
Documentation Loading commit data...
arch Loading commit data...
block Loading commit data...
certs Loading commit data...
crypto Loading commit data...
drivers Loading commit data...
firmware Loading commit data...
fs Loading commit data...
include Loading commit data...
init Loading commit data...
ipc Loading commit data...
kernel Loading commit data...
lib Loading commit data...
mm Loading commit data...
net Loading commit data...
samples Loading commit data...
scripts Loading commit data...
security Loading commit data...
sound Loading commit data...
tools Loading commit data...
usr Loading commit data...
virt Loading commit data...
.get_maintainer.ignore Loading commit data...
.gitignore Loading commit data...
.mailmap Loading commit data...
COPYING Loading commit data...
CREDITS Loading commit data...
Kbuild Loading commit data...
Kconfig Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
REPORTING-BUGS Loading commit data...