mirror of
https://github.com/hardkernel/linux.git
synced 2026-04-14 09:30:40 +09:00
Pull livepatching updates from Petr Mladek: - New API to track system state changes done be livepatch callbacks. It helps to maintain compatibility between livepatches. - Update Kconfig help text. ORC is another reliable unwinder. - Disable generic selftest timeout. Livepatch selftests have their own per-operation fine-grained timeouts. * tag 'livepatching-for-5.5' of git://git.kernel.org/pub/scm/linux/kernel/git/livepatching/livepatching: x86/stacktrace: update kconfig help text for reliable unwinders livepatch: Selftests of the API for tracking system state changes livepatch: Documentation of the new API for tracking system state changes livepatch: Allow to distinguish different version of system state changes livepatch: Basic API to track system state changes livepatch: Keep replaced patches until post_patch callback is called selftests/livepatch: Disable the timeout
==================== Livepatch Self Tests ==================== This is a small set of sanity tests for the kernel livepatching. The test suite loads and unloads several test kernel modules to verify livepatch behavior. Debug information is logged to the kernel's message buffer and parsed for expected messages. (Note: the tests will clear the message buffer between individual tests.) Config ------ Set these config options and their prerequisites: CONFIG_LIVEPATCH=y CONFIG_TEST_LIVEPATCH=m Running the tests ----------------- Test kernel modules are built as part of lib/ (make modules) and need to be installed (make modules_install) as the test scripts will modprobe them. To run the livepatch selftests, from the top of the kernel source tree: % make -C tools/testing/selftests TARGETS=livepatch run_tests Adding tests ------------ See the common functions.sh file for the existing collection of utility functions, most importantly set_dynamic_debug() and check_result(). The latter function greps the kernel's ring buffer for "livepatch:" and "test_klp" strings, so tests be sure to include one of those strings for result comparison. Other utility functions include general module loading and livepatch loading helpers (waiting for patch transitions, sysfs entries, etc.)