Messages in this thread | | | Date | Tue, 2 May 2017 21:14:17 +0200 (CEST) | From | Jiri Kosina <> | Subject | [GIT PULL] livepatching for 4.12 |
| |
Linus,
please pull from
git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching.git for-linus
to receive live patching updates for 4.12 merge window.
Notice (not to go into the merge log): all the patches that are touching other code (especially arch-specific) have been Reviewed/Acked by the appropriate maintainer(s). There are three minor merge conflicts pending (as reported in linux-next); the respective reports are:
http://lkml.kernel.org/r/20170322134123.73f29daa@canb.auug.org.au http://lkml.kernel.org/r/20170323142734.38b03846@canb.auug.org.au http://lkml.kernel.org/r/20170328151341.7ab5a45b@canb.auug.org.au
All three are more or less of a same nature (adding defines for constants or structure fields to a similar place, and one context conflict) and very easy to resolve. Currently the only one that has already landed in your tree is the first one; the two other you'll be getting while merging s390 and security trees.
If you want me to prepare a branch for you to pull with the resolved conflict(s), please let me know.
Thanks.
===== - per-task consistency model is being added for architectures that support reliable stack dumping (extending this, currently rather trivial set, is currently in the works). This extends the nature of the types of patches that can be applied by live patching infrastructure. The code stems from the design proposal made [1] back in November 2014. It's a hybrid of SUSE's kGraft and RH's kpatch, combining advantages of both: it uses kGraft's per-task consistency and syscall barrier switching combined with kpatch's stack trace switching. There are also a number of fallback options which make it quite flexible. Most of the heavy lifting done by Josh Poimboeuf with help from Miroslav Benes and Petr Mladek
- patch module load time optimization from Zhou Chengming
- a few assorted small fixes
[1] https://lkml.kernel.org/r/20141107140458.GA21774@suse.cz =====
---------------------------------------------------------------- Jiri Kosina (1): livepatch: make klp_mutex proper part of API
Jiri Slaby (1): livepatch/s390: reorganize TIF thread flag bits
Josh Poimboeuf (14): stacktrace/x86: add function for detecting reliable stack traces x86/entry: define _TIF_ALLWORK_MASK flags explicitly livepatch: create temporary klp_update_patch_state() stub livepatch/x86: add TIF_PATCH_PENDING thread flag livepatch/powerpc: add TIF_PATCH_PENDING thread flag livepatch: separate enabled and patched states livepatch: remove unnecessary object loaded check livepatch: move patching functions into patch.c livepatch: use kstrtobool() in enabled_store() livepatch: store function sizes livepatch: change to a per-task consistency model livepatch: add /proc/<pid>/patch_state livepatch: allow removal of a disabled patch livepatch: add missing printk newlines
Miroslav Benes (1): livepatch/s390: add TIF_PATCH_PENDING thread flag
Petr Mladek (1): livepatch: Cancel transition a safe way for immediate patches
Zhou Chengming (1): livepatch: Reduce the time of finding module symbols
Documentation/ABI/testing/sysfs-kernel-livepatch | 8 + Documentation/filesystems/proc.txt | 18 + Documentation/livepatch/livepatch.txt | 214 +++++++-- arch/Kconfig | 6 + arch/powerpc/include/asm/thread_info.h | 4 +- arch/powerpc/kernel/signal.c | 4 + arch/s390/include/asm/thread_info.h | 24 +- arch/s390/kernel/entry.S | 31 +- arch/x86/Kconfig | 1 + arch/x86/entry/common.c | 9 +- arch/x86/include/asm/thread_info.h | 13 +- arch/x86/include/asm/unwind.h | 6 + arch/x86/kernel/stacktrace.c | 96 +++- arch/x86/kernel/unwind_frame.c | 2 + fs/proc/base.c | 15 + include/linux/init_task.h | 9 + include/linux/livepatch.h | 68 ++- include/linux/sched.h | 3 + include/linux/stacktrace.h | 9 +- kernel/fork.c | 3 + kernel/livepatch/Makefile | 2 +- kernel/livepatch/core.c | 450 +++++++----------- kernel/livepatch/core.h | 6 + kernel/livepatch/patch.c | 272 +++++++++++ kernel/livepatch/patch.h | 33 ++ kernel/livepatch/transition.c | 553 +++++++++++++++++++++++ kernel/livepatch/transition.h | 14 + kernel/sched/idle.c | 4 + kernel/stacktrace.c | 12 +- samples/livepatch/livepatch-sample.c | 18 +- 30 files changed, 1548 insertions(+), 359 deletions(-) create mode 100644 kernel/livepatch/core.h create mode 100644 kernel/livepatch/patch.c create mode 100644 kernel/livepatch/patch.h create mode 100644 kernel/livepatch/transition.c create mode 100644 kernel/livepatch/transition.h
-- Jiri Kosina SUSE Labs
| |