lkml.org 
[lkml]   [2020]   [Apr]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCH v2 0/9] livepatch,module: Remove .klp.arch and module_disable_ro()
    Date
    v2:
    - add vmlinux.ko check [peterz]
    - remove 'klp_object' forward declaration [mbenes]
    - use text_mutex [jeyu]
    - fix documentation TOC [jeyu]
    - fix s390 issues [mbenes]
    - upstream kpatch-build now supports this
    (though it's only enabled for Linux >= 5.8)

    These patches add simplifications and improvements for some issues Peter
    found six months ago, as part of his non-writable text code (W^X)
    cleanups.

    Highlights:

    - Remove the livepatch arch-specific .klp.arch sections, which were used
    to do paravirt patching and alternatives patching for livepatch
    replacement code.

    - Add support for jump labels in patched code.

    - Remove the last module_disable_ro() usage.

    For more background, see this thread:

    https://lkml.kernel.org/r/20191021135312.jbbxsuipxldocdjk@treble

    I've tested this with a modified kpatch-build:

    https://github.com/jpoimboe/kpatch/tree/no-klp-arch

    (I'm planning to submit a github PR for kpatch-build, once I get
    the updated unit/integration tests sorted out.



    Josh Poimboeuf (6):
    livepatch: Disallow vmlinux.ko
    livepatch: Apply vmlinux-specific KLP relocations early
    livepatch: Prevent module-specific KLP rela sections from referencing
    vmlinux symbols
    s390: Change s390_kernel_write() return type to match memcpy()
    livepatch: Remove module_disable_ro() usage
    module: Remove module_disable_ro()

    Peter Zijlstra (3):
    livepatch: Remove .klp.arch
    s390/module: Use s390_kernel_write() for late relocations
    x86/module: Use text_poke() for late relocations

    Documentation/livepatch/module-elf-format.rst | 15 +-
    arch/s390/include/asm/uaccess.h | 2 +-
    arch/s390/kernel/module.c | 125 ++++++++++------
    arch/s390/mm/maccess.c | 9 +-
    arch/um/kernel/um_arch.c | 16 +++
    arch/x86/kernel/Makefile | 1 -
    arch/x86/kernel/livepatch.c | 53 -------
    arch/x86/kernel/module.c | 43 +++++-
    include/linux/livepatch.h | 17 ++-
    include/linux/module.h | 2 -
    kernel/livepatch/core.c | 133 +++++++++++-------
    kernel/module.c | 22 +--
    12 files changed, 243 insertions(+), 195 deletions(-)
    delete mode 100644 arch/x86/kernel/livepatch.c

    --
    2.21.1

    \
     
     \ /
      Last update: 2020-04-17 16:08    [W:4.874 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site