summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRyan Sullivan <rysulliv@redhat.com>2024-08-22 19:31:22 +0200
committerPetr Mladek <pmladek@suse.com>2024-08-26 14:52:25 +0200
commit052f3951640fd96d2e777b3272a925ec6c0c8100 (patch)
tree01ee521e2371b59c021d3da8303ceeecb12c7e68
parentMerge tag 'livepatching-for-6.11' of git://git.kernel.org/pub/scm/linux/kerne... (diff)
downloadlinux-052f3951640fd96d2e777b3272a925ec6c0c8100.tar.xz
linux-052f3951640fd96d2e777b3272a925ec6c0c8100.zip
selftests/livepatch: wait for atomic replace to occur
On some machines with a large number of CPUs there is a sizable delay between an atomic replace occurring and when sysfs updates accordingly. This fix uses 'loop_until' to wait for the atomic replace to unload all previous livepatches. Reported-by: CKI Project <cki-project@redhat.com> Closes: https://datawarehouse.cki-project.org/kcidb/tests/redhat:1413102084-x86_64-kernel_upt_28 Signed-off-by: Ryan Sullivan <rysulliv@redhat.com> Reviewed-by: Petr Mladek <pmladek@suse.com> Acked-by: Joe Lawrence <joe.lawrence@redhat.com> Link: https://lore.kernel.org/r/20240822173122.14760-1-rysulliv@redhat.com Signed-off-by: Petr Mladek <pmladek@suse.com>
-rwxr-xr-xtools/testing/selftests/livepatch/test-livepatch.sh7
1 files changed, 2 insertions, 5 deletions
diff --git a/tools/testing/selftests/livepatch/test-livepatch.sh b/tools/testing/selftests/livepatch/test-livepatch.sh
index 65c9c058458d..bd13257bfdfe 100755
--- a/tools/testing/selftests/livepatch/test-livepatch.sh
+++ b/tools/testing/selftests/livepatch/test-livepatch.sh
@@ -139,11 +139,8 @@ load_lp $MOD_REPLACE replace=1
grep 'live patched' /proc/cmdline > /dev/kmsg
grep 'live patched' /proc/meminfo > /dev/kmsg
-mods=(/sys/kernel/livepatch/*)
-nmods=${#mods[@]}
-if [ "$nmods" -ne 1 ]; then
- die "Expecting only one moduled listed, found $nmods"
-fi
+loop_until 'mods=(/sys/kernel/livepatch/*); nmods=${#mods[@]}; [[ "$nmods" -eq 1 ]]' ||
+ die "Expecting only one moduled listed, found $nmods"
# These modules were disabled by the atomic replace
for mod in $MOD_LIVEPATCH3 $MOD_LIVEPATCH2 $MOD_LIVEPATCH1; do