Linus, please pull from git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching.git for-linus to receive livepatching subsystem updates for 5.1 merge window: ===== - support for something we call 'atomic replace', and allows for much better handling of cumulative patches (which is something very useful for distros), from Jason Baron with help of Petr Mladek and Jason Baron. - improvement of handling of tasks blocking finalization, from Miroslav Benes - update of MAINTAINERS file to reflect move towards group maintainership ===== Thanks. ---------------------------------------------------------------- Alice Ferrazzi (1): livepatch: core: Return EOPNOTSUPP instead of ENOSYS Jason Baron (2): livepatch: Use lists to manage patches, objects and functions livepatch: Add atomic replace Jiri Kosina (1): livepatch: update MAINTAINERS Joe Lawrence (4): selftests/livepatch: introduce tests selftests/livepatch: add DYNAMIC_DEBUG config dependency livepatch: return -ENOMEM on ptr_id() allocation failure livepatch/selftests: use "$@" to preserve argument list Miroslav Benes (2): livepatch: Send a fake signal periodically livepatch: Remove signal sysfs attribute Nicholas Mc Guire (1): livepatch: samples: non static warnings fix Petr Mladek (11): livepatch: Change unsigned long old_addr -> void *old_func in struct klp_func livepatch: Shuffle klp_enable_patch()/klp_disable_patch() code livepatch: Consolidate klp_free functions livepatch: Don't block the removal of patches loaded after a forced transition livepatch: Simplify API by removing registration step livepatch: Remove Nop structures when unused livepatch: Atomic replace and cumulative patches documentation livepatch: Remove ordering (stacking) of the livepatches livepatch: Introduce klp_for_each_patch macro livepatch: Proper error handling in the shadow variables selftest livepatch: Module coming and going callbacks can proceed with all listed patches Documentation/ABI/testing/sysfs-kernel-livepatch | 12 - Documentation/livepatch/callbacks.txt | 489 +----------- Documentation/livepatch/cumulative-patches.txt | 102 +++ Documentation/livepatch/livepatch.txt | 182 +++-- MAINTAINERS | 7 +- include/linux/livepatch.h | 50 +- kernel/livepatch/core.c | 854 +++++++++++++-------- kernel/livepatch/core.h | 11 + kernel/livepatch/patch.c | 57 +- kernel/livepatch/patch.h | 5 +- kernel/livepatch/transition.c | 124 +-- kernel/livepatch/transition.h | 1 - lib/Kconfig.debug | 23 +- lib/Makefile | 2 + lib/livepatch/Makefile | 15 + lib/livepatch/test_klp_atomic_replace.c | 57 ++ lib/livepatch/test_klp_callbacks_busy.c | 43 ++ lib/livepatch/test_klp_callbacks_demo.c | 121 +++ lib/livepatch/test_klp_callbacks_demo2.c | 93 +++ lib/livepatch/test_klp_callbacks_mod.c | 24 + lib/livepatch/test_klp_livepatch.c | 51 ++ lib/livepatch/test_klp_shadow_vars.c | 258 +++++++ samples/livepatch/livepatch-callbacks-demo.c | 13 +- samples/livepatch/livepatch-sample.c | 13 +- samples/livepatch/livepatch-shadow-fix1.c | 18 +- samples/livepatch/livepatch-shadow-fix2.c | 18 +- samples/livepatch/livepatch-shadow-mod.c | 11 +- tools/testing/selftests/Makefile | 1 + tools/testing/selftests/livepatch/Makefile | 8 + tools/testing/selftests/livepatch/README | 43 ++ tools/testing/selftests/livepatch/config | 1 + tools/testing/selftests/livepatch/functions.sh | 198 +++++ .../testing/selftests/livepatch/test-callbacks.sh | 587 ++++++++++++++ .../testing/selftests/livepatch/test-livepatch.sh | 168 ++++ .../selftests/livepatch/test-shadow-vars.sh | 60 ++ 35 files changed, 2649 insertions(+), 1071 deletions(-) create mode 100644 Documentation/livepatch/cumulative-patches.txt create mode 100644 lib/livepatch/Makefile create mode 100644 lib/livepatch/test_klp_atomic_replace.c create mode 100644 lib/livepatch/test_klp_callbacks_busy.c create mode 100644 lib/livepatch/test_klp_callbacks_demo.c create mode 100644 lib/livepatch/test_klp_callbacks_demo2.c create mode 100644 lib/livepatch/test_klp_callbacks_mod.c create mode 100644 lib/livepatch/test_klp_livepatch.c create mode 100644 lib/livepatch/test_klp_shadow_vars.c create mode 100644 tools/testing/selftests/livepatch/Makefile create mode 100644 tools/testing/selftests/livepatch/README create mode 100644 tools/testing/selftests/livepatch/config create mode 100644 tools/testing/selftests/livepatch/functions.sh create mode 100755 tools/testing/selftests/livepatch/test-callbacks.sh create mode 100755 tools/testing/selftests/livepatch/test-livepatch.sh create mode 100755 tools/testing/selftests/livepatch/test-shadow-vars.sh -- Jiri Kosina SUSE Labs