mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 23:03:57 -04:00
selftests/livepatch: introduce tests
Add a few livepatch modules and simple target modules that the included regression suite can run tests against: - basic livepatching (multiple patches, atomic replace) - pre/post (un)patch callbacks - shadow variable API Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Tested-by: Miroslav Benes <mbenes@suse.cz> Tested-by: Alice Ferrazzi <alice.ferrazzi@gmail.com> Acked-by: Joe Lawrence <joe.lawrence@redhat.com> Acked-by: Josh Poimboeuf <jpoimboe@redhat.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
committed by
Jiri Kosina
parent
d67a537209
commit
a2818ee4dc
43
tools/testing/selftests/livepatch/README
Normal file
43
tools/testing/selftests/livepatch/README
Normal file
@@ -0,0 +1,43 @@
|
||||
====================
|
||||
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.)
|
||||
Reference in New Issue
Block a user