test-callbacks.sh (4b4193256c8d3bc3a5397b5cd9494c2ad386317d) | test-callbacks.sh (c4bbe83d27c2446a033cc0381c3fb6be5e8c41c7) |
---|---|
1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3# Copyright (C) 2018 Joe Lawrence <joe.lawrence@redhat.com> 4 5. $(dirname $0)/functions.sh 6 7MOD_LIVEPATCH=test_klp_callbacks_demo 8MOD_LIVEPATCH2=test_klp_callbacks_demo2 --- 20 unchanged lines hidden (view full) --- 29start_test "target module before livepatch" 30 31load_mod $MOD_TARGET 32load_lp $MOD_LIVEPATCH 33disable_lp $MOD_LIVEPATCH 34unload_lp $MOD_LIVEPATCH 35unload_mod $MOD_TARGET 36 | 1#!/bin/bash 2# SPDX-License-Identifier: GPL-2.0 3# Copyright (C) 2018 Joe Lawrence <joe.lawrence@redhat.com> 4 5. $(dirname $0)/functions.sh 6 7MOD_LIVEPATCH=test_klp_callbacks_demo 8MOD_LIVEPATCH2=test_klp_callbacks_demo2 --- 20 unchanged lines hidden (view full) --- 29start_test "target module before livepatch" 30 31load_mod $MOD_TARGET 32load_lp $MOD_LIVEPATCH 33disable_lp $MOD_LIVEPATCH 34unload_lp $MOD_LIVEPATCH 35unload_mod $MOD_TARGET 36 |
37check_result "% modprobe $MOD_TARGET | 37check_result "% insmod test_modules/$MOD_TARGET.ko |
38$MOD_TARGET: ${MOD_TARGET}_init | 38$MOD_TARGET: ${MOD_TARGET}_init |
39% modprobe $MOD_LIVEPATCH | 39% insmod test_modules/$MOD_LIVEPATCH.ko |
40livepatch: enabling patch '$MOD_LIVEPATCH' 41livepatch: '$MOD_LIVEPATCH': initializing patching transition 42$MOD_LIVEPATCH: pre_patch_callback: vmlinux 43$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_LIVE] Normal state 44livepatch: '$MOD_LIVEPATCH': starting patching transition 45livepatch: '$MOD_LIVEPATCH': completing patching transition 46$MOD_LIVEPATCH: post_patch_callback: vmlinux 47$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_LIVE] Normal state --- 28 unchanged lines hidden (view full) --- 76start_test "module_coming notifier" 77 78load_lp $MOD_LIVEPATCH 79load_mod $MOD_TARGET 80disable_lp $MOD_LIVEPATCH 81unload_lp $MOD_LIVEPATCH 82unload_mod $MOD_TARGET 83 | 40livepatch: enabling patch '$MOD_LIVEPATCH' 41livepatch: '$MOD_LIVEPATCH': initializing patching transition 42$MOD_LIVEPATCH: pre_patch_callback: vmlinux 43$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_LIVE] Normal state 44livepatch: '$MOD_LIVEPATCH': starting patching transition 45livepatch: '$MOD_LIVEPATCH': completing patching transition 46$MOD_LIVEPATCH: post_patch_callback: vmlinux 47$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_LIVE] Normal state --- 28 unchanged lines hidden (view full) --- 76start_test "module_coming notifier" 77 78load_lp $MOD_LIVEPATCH 79load_mod $MOD_TARGET 80disable_lp $MOD_LIVEPATCH 81unload_lp $MOD_LIVEPATCH 82unload_mod $MOD_TARGET 83 |
84check_result "% modprobe $MOD_LIVEPATCH | 84check_result "% insmod test_modules/$MOD_LIVEPATCH.ko |
85livepatch: enabling patch '$MOD_LIVEPATCH' 86livepatch: '$MOD_LIVEPATCH': initializing patching transition 87$MOD_LIVEPATCH: pre_patch_callback: vmlinux 88livepatch: '$MOD_LIVEPATCH': starting patching transition 89livepatch: '$MOD_LIVEPATCH': completing patching transition 90$MOD_LIVEPATCH: post_patch_callback: vmlinux 91livepatch: '$MOD_LIVEPATCH': patching complete | 85livepatch: enabling patch '$MOD_LIVEPATCH' 86livepatch: '$MOD_LIVEPATCH': initializing patching transition 87$MOD_LIVEPATCH: pre_patch_callback: vmlinux 88livepatch: '$MOD_LIVEPATCH': starting patching transition 89livepatch: '$MOD_LIVEPATCH': completing patching transition 90$MOD_LIVEPATCH: post_patch_callback: vmlinux 91livepatch: '$MOD_LIVEPATCH': patching complete |
92% modprobe $MOD_TARGET | 92% insmod test_modules/$MOD_TARGET.ko |
93livepatch: applying patch '$MOD_LIVEPATCH' to loading module '$MOD_TARGET' 94$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 95$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 96$MOD_TARGET: ${MOD_TARGET}_init 97% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled 98livepatch: '$MOD_LIVEPATCH': initializing unpatching transition 99$MOD_LIVEPATCH: pre_unpatch_callback: vmlinux 100$MOD_LIVEPATCH: pre_unpatch_callback: $MOD_TARGET -> [MODULE_STATE_LIVE] Normal state --- 23 unchanged lines hidden (view full) --- 124start_test "module_going notifier" 125 126load_mod $MOD_TARGET 127load_lp $MOD_LIVEPATCH 128unload_mod $MOD_TARGET 129disable_lp $MOD_LIVEPATCH 130unload_lp $MOD_LIVEPATCH 131 | 93livepatch: applying patch '$MOD_LIVEPATCH' to loading module '$MOD_TARGET' 94$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 95$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 96$MOD_TARGET: ${MOD_TARGET}_init 97% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled 98livepatch: '$MOD_LIVEPATCH': initializing unpatching transition 99$MOD_LIVEPATCH: pre_unpatch_callback: vmlinux 100$MOD_LIVEPATCH: pre_unpatch_callback: $MOD_TARGET -> [MODULE_STATE_LIVE] Normal state --- 23 unchanged lines hidden (view full) --- 124start_test "module_going notifier" 125 126load_mod $MOD_TARGET 127load_lp $MOD_LIVEPATCH 128unload_mod $MOD_TARGET 129disable_lp $MOD_LIVEPATCH 130unload_lp $MOD_LIVEPATCH 131 |
132check_result "% modprobe $MOD_TARGET | 132check_result "% insmod test_modules/$MOD_TARGET.ko |
133$MOD_TARGET: ${MOD_TARGET}_init | 133$MOD_TARGET: ${MOD_TARGET}_init |
134% modprobe $MOD_LIVEPATCH | 134% insmod test_modules/$MOD_LIVEPATCH.ko |
135livepatch: enabling patch '$MOD_LIVEPATCH' 136livepatch: '$MOD_LIVEPATCH': initializing patching transition 137$MOD_LIVEPATCH: pre_patch_callback: vmlinux 138$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_LIVE] Normal state 139livepatch: '$MOD_LIVEPATCH': starting patching transition 140livepatch: '$MOD_LIVEPATCH': completing patching transition 141$MOD_LIVEPATCH: post_patch_callback: vmlinux 142$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_LIVE] Normal state --- 29 unchanged lines hidden (view full) --- 172start_test "module_coming and module_going notifiers" 173 174load_lp $MOD_LIVEPATCH 175load_mod $MOD_TARGET 176unload_mod $MOD_TARGET 177disable_lp $MOD_LIVEPATCH 178unload_lp $MOD_LIVEPATCH 179 | 135livepatch: enabling patch '$MOD_LIVEPATCH' 136livepatch: '$MOD_LIVEPATCH': initializing patching transition 137$MOD_LIVEPATCH: pre_patch_callback: vmlinux 138$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_LIVE] Normal state 139livepatch: '$MOD_LIVEPATCH': starting patching transition 140livepatch: '$MOD_LIVEPATCH': completing patching transition 141$MOD_LIVEPATCH: post_patch_callback: vmlinux 142$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_LIVE] Normal state --- 29 unchanged lines hidden (view full) --- 172start_test "module_coming and module_going notifiers" 173 174load_lp $MOD_LIVEPATCH 175load_mod $MOD_TARGET 176unload_mod $MOD_TARGET 177disable_lp $MOD_LIVEPATCH 178unload_lp $MOD_LIVEPATCH 179 |
180check_result "% modprobe $MOD_LIVEPATCH | 180check_result "% insmod test_modules/$MOD_LIVEPATCH.ko |
181livepatch: enabling patch '$MOD_LIVEPATCH' 182livepatch: '$MOD_LIVEPATCH': initializing patching transition 183$MOD_LIVEPATCH: pre_patch_callback: vmlinux 184livepatch: '$MOD_LIVEPATCH': starting patching transition 185livepatch: '$MOD_LIVEPATCH': completing patching transition 186$MOD_LIVEPATCH: post_patch_callback: vmlinux 187livepatch: '$MOD_LIVEPATCH': patching complete | 181livepatch: enabling patch '$MOD_LIVEPATCH' 182livepatch: '$MOD_LIVEPATCH': initializing patching transition 183$MOD_LIVEPATCH: pre_patch_callback: vmlinux 184livepatch: '$MOD_LIVEPATCH': starting patching transition 185livepatch: '$MOD_LIVEPATCH': completing patching transition 186$MOD_LIVEPATCH: post_patch_callback: vmlinux 187livepatch: '$MOD_LIVEPATCH': patching complete |
188% modprobe $MOD_TARGET | 188% insmod test_modules/$MOD_TARGET.ko |
189livepatch: applying patch '$MOD_LIVEPATCH' to loading module '$MOD_TARGET' 190$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 191$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 192$MOD_TARGET: ${MOD_TARGET}_init 193% rmmod $MOD_TARGET 194$MOD_TARGET: ${MOD_TARGET}_exit 195$MOD_LIVEPATCH: pre_unpatch_callback: $MOD_TARGET -> [MODULE_STATE_GOING] Going away 196livepatch: reverting patch '$MOD_LIVEPATCH' on unloading module '$MOD_TARGET' --- 17 unchanged lines hidden (view full) --- 214# vmlinux. 215 216start_test "target module not present" 217 218load_lp $MOD_LIVEPATCH 219disable_lp $MOD_LIVEPATCH 220unload_lp $MOD_LIVEPATCH 221 | 189livepatch: applying patch '$MOD_LIVEPATCH' to loading module '$MOD_TARGET' 190$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 191$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 192$MOD_TARGET: ${MOD_TARGET}_init 193% rmmod $MOD_TARGET 194$MOD_TARGET: ${MOD_TARGET}_exit 195$MOD_LIVEPATCH: pre_unpatch_callback: $MOD_TARGET -> [MODULE_STATE_GOING] Going away 196livepatch: reverting patch '$MOD_LIVEPATCH' on unloading module '$MOD_TARGET' --- 17 unchanged lines hidden (view full) --- 214# vmlinux. 215 216start_test "target module not present" 217 218load_lp $MOD_LIVEPATCH 219disable_lp $MOD_LIVEPATCH 220unload_lp $MOD_LIVEPATCH 221 |
222check_result "% modprobe $MOD_LIVEPATCH | 222check_result "% insmod test_modules/$MOD_LIVEPATCH.ko |
223livepatch: enabling patch '$MOD_LIVEPATCH' 224livepatch: '$MOD_LIVEPATCH': initializing patching transition 225$MOD_LIVEPATCH: pre_patch_callback: vmlinux 226livepatch: '$MOD_LIVEPATCH': starting patching transition 227livepatch: '$MOD_LIVEPATCH': completing patching transition 228$MOD_LIVEPATCH: post_patch_callback: vmlinux 229livepatch: '$MOD_LIVEPATCH': patching complete 230% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled --- 18 unchanged lines hidden (view full) --- 249# module. 250 251start_test "pre-patch callback -ENODEV" 252 253load_mod $MOD_TARGET 254load_failing_mod $MOD_LIVEPATCH pre_patch_ret=-19 255unload_mod $MOD_TARGET 256 | 223livepatch: enabling patch '$MOD_LIVEPATCH' 224livepatch: '$MOD_LIVEPATCH': initializing patching transition 225$MOD_LIVEPATCH: pre_patch_callback: vmlinux 226livepatch: '$MOD_LIVEPATCH': starting patching transition 227livepatch: '$MOD_LIVEPATCH': completing patching transition 228$MOD_LIVEPATCH: post_patch_callback: vmlinux 229livepatch: '$MOD_LIVEPATCH': patching complete 230% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled --- 18 unchanged lines hidden (view full) --- 249# module. 250 251start_test "pre-patch callback -ENODEV" 252 253load_mod $MOD_TARGET 254load_failing_mod $MOD_LIVEPATCH pre_patch_ret=-19 255unload_mod $MOD_TARGET 256 |
257check_result "% modprobe $MOD_TARGET | 257check_result "% insmod test_modules/$MOD_TARGET.ko |
258$MOD_TARGET: ${MOD_TARGET}_init | 258$MOD_TARGET: ${MOD_TARGET}_init |
259% modprobe $MOD_LIVEPATCH pre_patch_ret=-19 | 259% insmod test_modules/$MOD_LIVEPATCH.ko pre_patch_ret=-19 |
260livepatch: enabling patch '$MOD_LIVEPATCH' 261livepatch: '$MOD_LIVEPATCH': initializing patching transition 262test_klp_callbacks_demo: pre_patch_callback: vmlinux 263livepatch: pre-patch callback failed for object 'vmlinux' 264livepatch: failed to enable patch '$MOD_LIVEPATCH' 265livepatch: '$MOD_LIVEPATCH': canceling patching transition, going to unpatch 266livepatch: '$MOD_LIVEPATCH': completing unpatching transition 267livepatch: '$MOD_LIVEPATCH': unpatching complete | 260livepatch: enabling patch '$MOD_LIVEPATCH' 261livepatch: '$MOD_LIVEPATCH': initializing patching transition 262test_klp_callbacks_demo: pre_patch_callback: vmlinux 263livepatch: pre-patch callback failed for object 'vmlinux' 264livepatch: failed to enable patch '$MOD_LIVEPATCH' 265livepatch: '$MOD_LIVEPATCH': canceling patching transition, going to unpatch 266livepatch: '$MOD_LIVEPATCH': completing unpatching transition 267livepatch: '$MOD_LIVEPATCH': unpatching complete |
268modprobe: ERROR: could not insert '$MOD_LIVEPATCH': No such device | 268insmod: ERROR: could not insert module test_modules/$MOD_LIVEPATCH.ko: No such device |
269% rmmod $MOD_TARGET 270$MOD_TARGET: ${MOD_TARGET}_exit" 271 272 273# Similar to the previous test, setup a livepatch such that its vmlinux 274# pre-patch callback returns success. However, when a targeted kernel 275# module is later loaded, have the livepatch return a failing status 276# code. --- 13 unchanged lines hidden (view full) --- 290start_test "module_coming + pre-patch callback -ENODEV" 291 292load_lp $MOD_LIVEPATCH 293set_pre_patch_ret $MOD_LIVEPATCH -19 294load_failing_mod $MOD_TARGET 295disable_lp $MOD_LIVEPATCH 296unload_lp $MOD_LIVEPATCH 297 | 269% rmmod $MOD_TARGET 270$MOD_TARGET: ${MOD_TARGET}_exit" 271 272 273# Similar to the previous test, setup a livepatch such that its vmlinux 274# pre-patch callback returns success. However, when a targeted kernel 275# module is later loaded, have the livepatch return a failing status 276# code. --- 13 unchanged lines hidden (view full) --- 290start_test "module_coming + pre-patch callback -ENODEV" 291 292load_lp $MOD_LIVEPATCH 293set_pre_patch_ret $MOD_LIVEPATCH -19 294load_failing_mod $MOD_TARGET 295disable_lp $MOD_LIVEPATCH 296unload_lp $MOD_LIVEPATCH 297 |
298check_result "% modprobe $MOD_LIVEPATCH | 298check_result "% insmod test_modules/$MOD_LIVEPATCH.ko |
299livepatch: enabling patch '$MOD_LIVEPATCH' 300livepatch: '$MOD_LIVEPATCH': initializing patching transition 301$MOD_LIVEPATCH: pre_patch_callback: vmlinux 302livepatch: '$MOD_LIVEPATCH': starting patching transition 303livepatch: '$MOD_LIVEPATCH': completing patching transition 304$MOD_LIVEPATCH: post_patch_callback: vmlinux 305livepatch: '$MOD_LIVEPATCH': patching complete 306% echo -19 > /sys/module/$MOD_LIVEPATCH/parameters/pre_patch_ret | 299livepatch: enabling patch '$MOD_LIVEPATCH' 300livepatch: '$MOD_LIVEPATCH': initializing patching transition 301$MOD_LIVEPATCH: pre_patch_callback: vmlinux 302livepatch: '$MOD_LIVEPATCH': starting patching transition 303livepatch: '$MOD_LIVEPATCH': completing patching transition 304$MOD_LIVEPATCH: post_patch_callback: vmlinux 305livepatch: '$MOD_LIVEPATCH': patching complete 306% echo -19 > /sys/module/$MOD_LIVEPATCH/parameters/pre_patch_ret |
307% modprobe $MOD_TARGET | 307% insmod test_modules/$MOD_TARGET.ko |
308livepatch: applying patch '$MOD_LIVEPATCH' to loading module '$MOD_TARGET' 309$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 310livepatch: pre-patch callback failed for object '$MOD_TARGET' 311livepatch: patch '$MOD_LIVEPATCH' failed for module '$MOD_TARGET', refusing to load module '$MOD_TARGET' | 308livepatch: applying patch '$MOD_LIVEPATCH' to loading module '$MOD_TARGET' 309$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 310livepatch: pre-patch callback failed for object '$MOD_TARGET' 311livepatch: patch '$MOD_LIVEPATCH' failed for module '$MOD_TARGET', refusing to load module '$MOD_TARGET' |
312modprobe: ERROR: could not insert '$MOD_TARGET': No such device | 312insmod: ERROR: could not insert module test_modules/$MOD_TARGET.ko: No such device |
313% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled 314livepatch: '$MOD_LIVEPATCH': initializing unpatching transition 315$MOD_LIVEPATCH: pre_unpatch_callback: vmlinux 316livepatch: '$MOD_LIVEPATCH': starting unpatching transition 317livepatch: '$MOD_LIVEPATCH': completing unpatching transition 318$MOD_LIVEPATCH: post_unpatch_callback: vmlinux 319livepatch: '$MOD_LIVEPATCH': unpatching complete 320% rmmod $MOD_LIVEPATCH" --- 14 unchanged lines hidden (view full) --- 335load_mod $MOD_TARGET_BUSY block_transition=N 336load_lp $MOD_LIVEPATCH 337load_mod $MOD_TARGET 338unload_mod $MOD_TARGET 339disable_lp $MOD_LIVEPATCH 340unload_lp $MOD_LIVEPATCH 341unload_mod $MOD_TARGET_BUSY 342 | 313% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled 314livepatch: '$MOD_LIVEPATCH': initializing unpatching transition 315$MOD_LIVEPATCH: pre_unpatch_callback: vmlinux 316livepatch: '$MOD_LIVEPATCH': starting unpatching transition 317livepatch: '$MOD_LIVEPATCH': completing unpatching transition 318$MOD_LIVEPATCH: post_unpatch_callback: vmlinux 319livepatch: '$MOD_LIVEPATCH': unpatching complete 320% rmmod $MOD_LIVEPATCH" --- 14 unchanged lines hidden (view full) --- 335load_mod $MOD_TARGET_BUSY block_transition=N 336load_lp $MOD_LIVEPATCH 337load_mod $MOD_TARGET 338unload_mod $MOD_TARGET 339disable_lp $MOD_LIVEPATCH 340unload_lp $MOD_LIVEPATCH 341unload_mod $MOD_TARGET_BUSY 342 |
343check_result "% modprobe $MOD_TARGET_BUSY block_transition=N | 343check_result "% insmod test_modules/$MOD_TARGET_BUSY.ko block_transition=N |
344$MOD_TARGET_BUSY: ${MOD_TARGET_BUSY}_init 345$MOD_TARGET_BUSY: busymod_work_func enter 346$MOD_TARGET_BUSY: busymod_work_func exit | 344$MOD_TARGET_BUSY: ${MOD_TARGET_BUSY}_init 345$MOD_TARGET_BUSY: busymod_work_func enter 346$MOD_TARGET_BUSY: busymod_work_func exit |
347% modprobe $MOD_LIVEPATCH | 347% insmod test_modules/$MOD_LIVEPATCH.ko |
348livepatch: enabling patch '$MOD_LIVEPATCH' 349livepatch: '$MOD_LIVEPATCH': initializing patching transition 350$MOD_LIVEPATCH: pre_patch_callback: vmlinux 351$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET_BUSY -> [MODULE_STATE_LIVE] Normal state 352livepatch: '$MOD_LIVEPATCH': starting patching transition 353livepatch: '$MOD_LIVEPATCH': completing patching transition 354$MOD_LIVEPATCH: post_patch_callback: vmlinux 355$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET_BUSY -> [MODULE_STATE_LIVE] Normal state 356livepatch: '$MOD_LIVEPATCH': patching complete | 348livepatch: enabling patch '$MOD_LIVEPATCH' 349livepatch: '$MOD_LIVEPATCH': initializing patching transition 350$MOD_LIVEPATCH: pre_patch_callback: vmlinux 351$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET_BUSY -> [MODULE_STATE_LIVE] Normal state 352livepatch: '$MOD_LIVEPATCH': starting patching transition 353livepatch: '$MOD_LIVEPATCH': completing patching transition 354$MOD_LIVEPATCH: post_patch_callback: vmlinux 355$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET_BUSY -> [MODULE_STATE_LIVE] Normal state 356livepatch: '$MOD_LIVEPATCH': patching complete |
357% modprobe $MOD_TARGET | 357% insmod test_modules/$MOD_TARGET.ko |
358livepatch: applying patch '$MOD_LIVEPATCH' to loading module '$MOD_TARGET' 359$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 360$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 361$MOD_TARGET: ${MOD_TARGET}_init 362% rmmod $MOD_TARGET 363$MOD_TARGET: ${MOD_TARGET}_exit 364$MOD_LIVEPATCH: pre_unpatch_callback: $MOD_TARGET -> [MODULE_STATE_GOING] Going away 365livepatch: reverting patch '$MOD_LIVEPATCH' on unloading module '$MOD_TARGET' --- 50 unchanged lines hidden (view full) --- 416 die "failed to stall transition" 417 418load_mod $MOD_TARGET 419unload_mod $MOD_TARGET 420disable_lp $MOD_LIVEPATCH 421unload_lp $MOD_LIVEPATCH 422unload_mod $MOD_TARGET_BUSY 423 | 358livepatch: applying patch '$MOD_LIVEPATCH' to loading module '$MOD_TARGET' 359$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 360$MOD_LIVEPATCH: post_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 361$MOD_TARGET: ${MOD_TARGET}_init 362% rmmod $MOD_TARGET 363$MOD_TARGET: ${MOD_TARGET}_exit 364$MOD_LIVEPATCH: pre_unpatch_callback: $MOD_TARGET -> [MODULE_STATE_GOING] Going away 365livepatch: reverting patch '$MOD_LIVEPATCH' on unloading module '$MOD_TARGET' --- 50 unchanged lines hidden (view full) --- 416 die "failed to stall transition" 417 418load_mod $MOD_TARGET 419unload_mod $MOD_TARGET 420disable_lp $MOD_LIVEPATCH 421unload_lp $MOD_LIVEPATCH 422unload_mod $MOD_TARGET_BUSY 423 |
424check_result "% modprobe $MOD_TARGET_BUSY block_transition=Y | 424check_result "% insmod test_modules/$MOD_TARGET_BUSY.ko block_transition=Y |
425$MOD_TARGET_BUSY: ${MOD_TARGET_BUSY}_init 426$MOD_TARGET_BUSY: busymod_work_func enter | 425$MOD_TARGET_BUSY: ${MOD_TARGET_BUSY}_init 426$MOD_TARGET_BUSY: busymod_work_func enter |
427% modprobe $MOD_LIVEPATCH | 427% insmod test_modules/$MOD_LIVEPATCH.ko |
428livepatch: enabling patch '$MOD_LIVEPATCH' 429livepatch: '$MOD_LIVEPATCH': initializing patching transition 430$MOD_LIVEPATCH: pre_patch_callback: vmlinux 431$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET_BUSY -> [MODULE_STATE_LIVE] Normal state 432livepatch: '$MOD_LIVEPATCH': starting patching transition | 428livepatch: enabling patch '$MOD_LIVEPATCH' 429livepatch: '$MOD_LIVEPATCH': initializing patching transition 430$MOD_LIVEPATCH: pre_patch_callback: vmlinux 431$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET_BUSY -> [MODULE_STATE_LIVE] Normal state 432livepatch: '$MOD_LIVEPATCH': starting patching transition |
433% modprobe $MOD_TARGET | 433% insmod test_modules/$MOD_TARGET.ko |
434livepatch: applying patch '$MOD_LIVEPATCH' to loading module '$MOD_TARGET' 435$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 436$MOD_TARGET: ${MOD_TARGET}_init 437% rmmod $MOD_TARGET 438$MOD_TARGET: ${MOD_TARGET}_exit 439livepatch: reverting patch '$MOD_LIVEPATCH' on unloading module '$MOD_TARGET' 440$MOD_LIVEPATCH: post_unpatch_callback: $MOD_TARGET -> [MODULE_STATE_GOING] Going away 441% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled --- 20 unchanged lines hidden (view full) --- 462 463load_lp $MOD_LIVEPATCH 464load_lp $MOD_LIVEPATCH2 465disable_lp $MOD_LIVEPATCH2 466disable_lp $MOD_LIVEPATCH 467unload_lp $MOD_LIVEPATCH2 468unload_lp $MOD_LIVEPATCH 469 | 434livepatch: applying patch '$MOD_LIVEPATCH' to loading module '$MOD_TARGET' 435$MOD_LIVEPATCH: pre_patch_callback: $MOD_TARGET -> [MODULE_STATE_COMING] Full formed, running module_init 436$MOD_TARGET: ${MOD_TARGET}_init 437% rmmod $MOD_TARGET 438$MOD_TARGET: ${MOD_TARGET}_exit 439livepatch: reverting patch '$MOD_LIVEPATCH' on unloading module '$MOD_TARGET' 440$MOD_LIVEPATCH: post_unpatch_callback: $MOD_TARGET -> [MODULE_STATE_GOING] Going away 441% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled --- 20 unchanged lines hidden (view full) --- 462 463load_lp $MOD_LIVEPATCH 464load_lp $MOD_LIVEPATCH2 465disable_lp $MOD_LIVEPATCH2 466disable_lp $MOD_LIVEPATCH 467unload_lp $MOD_LIVEPATCH2 468unload_lp $MOD_LIVEPATCH 469 |
470check_result "% modprobe $MOD_LIVEPATCH | 470check_result "% insmod test_modules/$MOD_LIVEPATCH.ko |
471livepatch: enabling patch '$MOD_LIVEPATCH' 472livepatch: '$MOD_LIVEPATCH': initializing patching transition 473$MOD_LIVEPATCH: pre_patch_callback: vmlinux 474livepatch: '$MOD_LIVEPATCH': starting patching transition 475livepatch: '$MOD_LIVEPATCH': completing patching transition 476$MOD_LIVEPATCH: post_patch_callback: vmlinux 477livepatch: '$MOD_LIVEPATCH': patching complete | 471livepatch: enabling patch '$MOD_LIVEPATCH' 472livepatch: '$MOD_LIVEPATCH': initializing patching transition 473$MOD_LIVEPATCH: pre_patch_callback: vmlinux 474livepatch: '$MOD_LIVEPATCH': starting patching transition 475livepatch: '$MOD_LIVEPATCH': completing patching transition 476$MOD_LIVEPATCH: post_patch_callback: vmlinux 477livepatch: '$MOD_LIVEPATCH': patching complete |
478% modprobe $MOD_LIVEPATCH2 | 478% insmod test_modules/$MOD_LIVEPATCH2.ko |
479livepatch: enabling patch '$MOD_LIVEPATCH2' 480livepatch: '$MOD_LIVEPATCH2': initializing patching transition 481$MOD_LIVEPATCH2: pre_patch_callback: vmlinux 482livepatch: '$MOD_LIVEPATCH2': starting patching transition 483livepatch: '$MOD_LIVEPATCH2': completing patching transition 484$MOD_LIVEPATCH2: post_patch_callback: vmlinux 485livepatch: '$MOD_LIVEPATCH2': patching complete 486% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH2/enabled --- 31 unchanged lines hidden (view full) --- 518start_test "atomic replace" 519 520load_lp $MOD_LIVEPATCH 521load_lp $MOD_LIVEPATCH2 replace=1 522disable_lp $MOD_LIVEPATCH2 523unload_lp $MOD_LIVEPATCH2 524unload_lp $MOD_LIVEPATCH 525 | 479livepatch: enabling patch '$MOD_LIVEPATCH2' 480livepatch: '$MOD_LIVEPATCH2': initializing patching transition 481$MOD_LIVEPATCH2: pre_patch_callback: vmlinux 482livepatch: '$MOD_LIVEPATCH2': starting patching transition 483livepatch: '$MOD_LIVEPATCH2': completing patching transition 484$MOD_LIVEPATCH2: post_patch_callback: vmlinux 485livepatch: '$MOD_LIVEPATCH2': patching complete 486% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH2/enabled --- 31 unchanged lines hidden (view full) --- 518start_test "atomic replace" 519 520load_lp $MOD_LIVEPATCH 521load_lp $MOD_LIVEPATCH2 replace=1 522disable_lp $MOD_LIVEPATCH2 523unload_lp $MOD_LIVEPATCH2 524unload_lp $MOD_LIVEPATCH 525 |
526check_result "% modprobe $MOD_LIVEPATCH | 526check_result "% insmod test_modules/$MOD_LIVEPATCH.ko |
527livepatch: enabling patch '$MOD_LIVEPATCH' 528livepatch: '$MOD_LIVEPATCH': initializing patching transition 529$MOD_LIVEPATCH: pre_patch_callback: vmlinux 530livepatch: '$MOD_LIVEPATCH': starting patching transition 531livepatch: '$MOD_LIVEPATCH': completing patching transition 532$MOD_LIVEPATCH: post_patch_callback: vmlinux 533livepatch: '$MOD_LIVEPATCH': patching complete | 527livepatch: enabling patch '$MOD_LIVEPATCH' 528livepatch: '$MOD_LIVEPATCH': initializing patching transition 529$MOD_LIVEPATCH: pre_patch_callback: vmlinux 530livepatch: '$MOD_LIVEPATCH': starting patching transition 531livepatch: '$MOD_LIVEPATCH': completing patching transition 532$MOD_LIVEPATCH: post_patch_callback: vmlinux 533livepatch: '$MOD_LIVEPATCH': patching complete |
534% modprobe $MOD_LIVEPATCH2 replace=1 | 534% insmod test_modules/$MOD_LIVEPATCH2.ko replace=1 |
535livepatch: enabling patch '$MOD_LIVEPATCH2' 536livepatch: '$MOD_LIVEPATCH2': initializing patching transition 537$MOD_LIVEPATCH2: pre_patch_callback: vmlinux 538livepatch: '$MOD_LIVEPATCH2': starting patching transition 539livepatch: '$MOD_LIVEPATCH2': completing patching transition 540$MOD_LIVEPATCH2: post_patch_callback: vmlinux 541livepatch: '$MOD_LIVEPATCH2': patching complete 542% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH2/enabled 543livepatch: '$MOD_LIVEPATCH2': initializing unpatching transition 544$MOD_LIVEPATCH2: pre_unpatch_callback: vmlinux 545livepatch: '$MOD_LIVEPATCH2': starting unpatching transition 546livepatch: '$MOD_LIVEPATCH2': completing unpatching transition 547$MOD_LIVEPATCH2: post_unpatch_callback: vmlinux 548livepatch: '$MOD_LIVEPATCH2': unpatching complete 549% rmmod $MOD_LIVEPATCH2 550% rmmod $MOD_LIVEPATCH" 551 552 553exit 0 | 535livepatch: enabling patch '$MOD_LIVEPATCH2' 536livepatch: '$MOD_LIVEPATCH2': initializing patching transition 537$MOD_LIVEPATCH2: pre_patch_callback: vmlinux 538livepatch: '$MOD_LIVEPATCH2': starting patching transition 539livepatch: '$MOD_LIVEPATCH2': completing patching transition 540$MOD_LIVEPATCH2: post_patch_callback: vmlinux 541livepatch: '$MOD_LIVEPATCH2': patching complete 542% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH2/enabled 543livepatch: '$MOD_LIVEPATCH2': initializing unpatching transition 544$MOD_LIVEPATCH2: pre_unpatch_callback: vmlinux 545livepatch: '$MOD_LIVEPATCH2': starting unpatching transition 546livepatch: '$MOD_LIVEPATCH2': completing unpatching transition 547$MOD_LIVEPATCH2: post_unpatch_callback: vmlinux 548livepatch: '$MOD_LIVEPATCH2': unpatching complete 549% rmmod $MOD_LIVEPATCH2 550% rmmod $MOD_LIVEPATCH" 551 552 553exit 0 |