[ 249.793151] Running test [R:13176093 T:7 - Livepatch kselftests - Kernel: 5.14.0-228.1484_738581302.el9.x86_64+debug] [ 340.266213] livepatch: kernel.ftrace_enabled = 1 [ 340.330258] ===== TEST: target module before livepatch ===== [ 340.499663] % modprobe test_klp_callbacks_mod [ 340.556016] test_klp_callbacks_mod: test_klp_callbacks_mod_init [ 340.718402] % modprobe test_klp_callbacks_demo [ 340.772594] test_klp_callbacks_demo: tainting kernel with TAINT_LIVEPATCH [ 340.780791] livepatch: enabling patch 'test_klp_callbacks_demo' [ 340.781464] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 340.782322] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 340.782940] test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_LIVE] Normal state [ 340.783913] livepatch: 'test_klp_callbacks_demo': starting patching transition [ 340.787074] livepatch: 'test_klp_callbacks_demo': completing patching transition [ 340.788518] test_klp_callbacks_demo: post_patch_callback: vmlinux [ 340.789551] test_klp_callbacks_demo: post_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_LIVE] Normal state [ 340.790526] livepatch: 'test_klp_callbacks_demo': patching complete [ 340.865562] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo/enabled [ 340.868589] livepatch: 'test_klp_callbacks_demo': initializing unpatching transition [ 340.868637] test_klp_callbacks_demo: pre_unpatch_callback: vmlinux [ 340.869529] test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_LIVE] Normal state [ 340.870529] livepatch: 'test_klp_callbacks_demo': starting unpatching transition [ 340.872867] livepatch: 'test_klp_callbacks_demo': completing unpatching transition [ 340.873643] test_klp_callbacks_demo: post_unpatch_callback: vmlinux [ 340.874663] test_klp_callbacks_demo: post_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_LIVE] Normal state [ 340.875698] livepatch: 'test_klp_callbacks_demo': unpatching complete [ 340.930548] % rmmod test_klp_callbacks_demo [ 341.056194] % rmmod test_klp_callbacks_mod [ 341.106680] test_klp_callbacks_mod: test_klp_callbacks_mod_exit [ 341.532941] ===== TEST: module_coming notifier ===== [ 341.685383] % modprobe test_klp_callbacks_demo [ 341.714301] livepatch: enabling patch 'test_klp_callbacks_demo' [ 341.714946] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 341.715031] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 341.715623] livepatch: 'test_klp_callbacks_demo': starting patching transition [ 341.717362] livepatch: 'test_klp_callbacks_demo': completing patching transition [ 341.717430] test_klp_callbacks_demo: post_patch_callback: vmlinux [ 341.718085] livepatch: 'test_klp_callbacks_demo': patching complete [ 341.816558] % modprobe test_klp_callbacks_mod [ 341.845026] livepatch: applying patch 'test_klp_callbacks_demo' to loading module 'test_klp_callbacks_mod' [ 341.845987] test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_COMING] Full formed, running module_init [ 341.847147] test_klp_callbacks_demo: post_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_COMING] Full formed, running module_init [ 341.849460] test_klp_callbacks_mod: test_klp_callbacks_mod_init [ 341.859363] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo/enabled [ 341.863282] livepatch: 'test_klp_callbacks_demo': initializing unpatching transition [ 341.863357] test_klp_callbacks_demo: pre_unpatch_callback: vmlinux [ 341.864153] test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_LIVE] Normal state [ 341.865147] livepatch: 'test_klp_callbacks_demo': starting unpatching transition [ 341.870531] livepatch: 'test_klp_callbacks_demo': completing unpatching transition [ 341.870614] test_klp_callbacks_demo: post_unpatch_callback: vmlinux [ 341.871302] test_klp_callbacks_demo: post_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_LIVE] Normal state [ 341.872298] livepatch: 'test_klp_callbacks_demo': unpatching complete [ 341.888070] % rmmod test_klp_callbacks_demo [ 341.961406] % rmmod test_klp_callbacks_mod [ 341.980161] test_klp_callbacks_mod: test_klp_callbacks_mod_exit [ 342.124998] ===== TEST: module_going notifier ===== [ 342.203212] % modprobe test_klp_callbacks_mod [ 342.230414] test_klp_callbacks_mod: test_klp_callbacks_mod_init [ 342.316405] % modprobe test_klp_callbacks_demo [ 342.345044] livepatch: enabling patch 'test_klp_callbacks_demo' [ 342.345647] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 342.345720] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 342.346318] test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_LIVE] Normal state [ 342.347300] livepatch: 'test_klp_callbacks_demo': starting patching transition [ 342.349100] livepatch: 'test_klp_callbacks_demo': completing patching transition [ 342.349168] test_klp_callbacks_demo: post_patch_callback: vmlinux [ 342.349821] test_klp_callbacks_demo: post_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_LIVE] Normal state [ 342.350806] livepatch: 'test_klp_callbacks_demo': patching complete [ 342.393243] % rmmod test_klp_callbacks_mod [ 342.410874] test_klp_callbacks_mod: test_klp_callbacks_mod_exit [ 342.411702] test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_GOING] Going away [ 342.412732] livepatch: reverting patch 'test_klp_callbacks_demo' on unloading module 'test_klp_callbacks_mod' [ 342.413658] test_klp_callbacks_demo: post_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_GOING] Going away [ 342.423164] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo/enabled [ 342.424647] livepatch: 'test_klp_callbacks_demo': initializing unpatching transition [ 342.424678] test_klp_callbacks_demo: pre_unpatch_callback: vmlinux [ 342.425480] livepatch: 'test_klp_callbacks_demo': starting unpatching transition [ 342.427326] livepatch: 'test_klp_callbacks_demo': completing unpatching transition [ 342.427389] test_klp_callbacks_demo: post_unpatch_callback: vmlinux [ 342.428122] livepatch: 'test_klp_callbacks_demo': unpatching complete [ 342.446954] % rmmod test_klp_callbacks_demo [ 342.623548] ===== TEST: module_coming and module_going notifiers ===== [ 342.697202] % modprobe test_klp_callbacks_demo [ 342.729051] livepatch: enabling patch 'test_klp_callbacks_demo' [ 342.729669] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 342.729789] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 342.730353] livepatch: 'test_klp_callbacks_demo': starting patching transition [ 342.732184] livepatch: 'test_klp_callbacks_demo': completing patching transition [ 342.732252] test_klp_callbacks_demo: post_patch_callback: vmlinux [ 342.732907] livepatch: 'test_klp_callbacks_demo': patching complete [ 342.834502] % modprobe test_klp_callbacks_mod [ 342.857704] livepatch: applying patch 'test_klp_callbacks_demo' to loading module 'test_klp_callbacks_mod' [ 342.858653] test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_COMING] Full formed, running module_init [ 342.859803] test_klp_callbacks_demo: post_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_COMING] Full formed, running module_init [ 342.866312] test_klp_callbacks_mod: test_klp_callbacks_mod_init [ 342.889694] % rmmod test_klp_callbacks_mod [ 342.936176] test_klp_callbacks_mod: test_klp_callbacks_mod_exit [ 342.937537] test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_GOING] Going away [ 342.938628] livepatch: reverting patch 'test_klp_callbacks_demo' on unloading module 'test_klp_callbacks_mod' [ 342.939563] test_klp_callbacks_demo: post_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_GOING] Going away [ 342.951990] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo/enabled [ 342.953596] livepatch: 'test_klp_callbacks_demo': initializing unpatching transition [ 342.954289] test_klp_callbacks_demo: pre_unpatch_callback: vmlinux [ 342.954936] livepatch: 'test_klp_callbacks_demo': starting unpatching transition [ 342.956890] livepatch: 'test_klp_callbacks_demo': completing unpatching transition [ 342.956996] test_klp_callbacks_demo: post_unpatch_callback: vmlinux [ 342.957621] livepatch: 'test_klp_callbacks_demo': unpatching complete [ 342.975038] % rmmod test_klp_callbacks_demo [ 343.145641] ===== TEST: target module not present ===== [ 343.226349] % modprobe test_klp_callbacks_demo [ 343.255564] livepatch: enabling patch 'test_klp_callbacks_demo' [ 343.256168] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 343.256264] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 343.256847] livepatch: 'test_klp_callbacks_demo': starting patching transition [ 343.258602] livepatch: 'test_klp_callbacks_demo': completing patching transition [ 343.258683] test_klp_callbacks_demo: post_patch_callback: vmlinux [ 343.259292] livepatch: 'test_klp_callbacks_demo': patching complete [ 343.289306] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo/enabled [ 343.290452] livepatch: 'test_klp_callbacks_demo': initializing unpatching transition [ 343.290480] test_klp_callbacks_demo: pre_unpatch_callback: vmlinux [ 343.291203] livepatch: 'test_klp_callbacks_demo': starting unpatching transition [ 343.292948] livepatch: 'test_klp_callbacks_demo': completing unpatching transition [ 343.293016] test_klp_callbacks_demo: post_unpatch_callback: vmlinux [ 343.293592] livepatch: 'test_klp_callbacks_demo': unpatching complete [ 343.309591] % rmmod test_klp_callbacks_demo [ 343.489821] ===== TEST: pre-patch callback -ENODEV ===== [ 343.574453] % modprobe test_klp_callbacks_mod [ 343.599345] test_klp_callbacks_mod: test_klp_callbacks_mod_init [ 343.616605] % modprobe test_klp_callbacks_demo pre_patch_ret=-19 [ 343.652980] livepatch: enabling patch 'test_klp_callbacks_demo' [ 343.653547] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 343.653637] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 343.654224] livepatch: pre-patch callback failed for object 'vmlinux' [ 343.654826] livepatch: failed to enable patch 'test_klp_callbacks_demo' [ 343.655425] livepatch: 'test_klp_callbacks_demo': canceling patching transition, going to unpatch [ 343.655430] livepatch: 'test_klp_callbacks_demo': completing unpatching transition [ 343.656504] livepatch: 'test_klp_callbacks_demo': unpatching complete [ 343.665214] modprobe: ERROR: could not insert 'test_klp_callbacks_demo': No such device [ 343.681320] % rmmod test_klp_callbacks_mod [ 343.699441] test_klp_callbacks_mod: test_klp_callbacks_mod_exit [ 343.848333] ===== TEST: module_coming + pre-patch callback -ENODEV ===== [ 343.927441] % modprobe test_klp_callbacks_demo [ 343.966106] livepatch: enabling patch 'test_klp_callbacks_demo' [ 343.966670] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 343.966964] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 343.967525] livepatch: 'test_klp_callbacks_demo': starting patching transition [ 343.969313] livepatch: 'test_klp_callbacks_demo': completing patching transition [ 343.969425] test_klp_callbacks_demo: post_patch_callback: vmlinux [ 343.970058] livepatch: 'test_klp_callbacks_demo': patching complete [ 343.999858] % echo -19 > /sys/module/test_klp_callbacks_demo/parameters/pre_patch_ret [ 344.017295] % modprobe test_klp_callbacks_mod [ 344.042412] livepatch: applying patch 'test_klp_callbacks_demo' to loading module 'test_klp_callbacks_mod' [ 344.043462] test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_COMING] Full formed, running module_init [ 344.044590] livepatch: pre-patch callback failed for object 'test_klp_callbacks_mod' [ 344.045301] livepatch: patch 'test_klp_callbacks_demo' failed for module 'test_klp_callbacks_mod', refusing to load module 'test_klp_callbacks_mod' [ 344.053529] modprobe: ERROR: could not insert 'test_klp_callbacks_mod': No such device [ 344.054667] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo/enabled [ 344.056205] livepatch: 'test_klp_callbacks_demo': initializing unpatching transition [ 344.056237] test_klp_callbacks_demo: pre_unpatch_callback: vmlinux [ 344.056992] livepatch: 'test_klp_callbacks_demo': starting unpatching transition [ 344.058550] livepatch: 'test_klp_callbacks_demo': completing unpatching transition [ 344.058621] test_klp_callbacks_demo: post_unpatch_callback: vmlinux [ 344.059322] livepatch: 'test_klp_callbacks_demo': unpatching complete [ 344.075580] % rmmod test_klp_callbacks_demo [ 344.260157] ===== TEST: multiple target modules ===== [ 344.340863] % modprobe test_klp_callbacks_busy block_transition=N [ 344.391996] test_klp_callbacks_busy: test_klp_callbacks_busy_init [ 344.411052] test_klp_callbacks_busy: busymod_work_func enter [ 344.413196] test_klp_callbacks_busy: busymod_work_func exit [ 344.536251] % modprobe test_klp_callbacks_demo [ 344.568371] livepatch: enabling patch 'test_klp_callbacks_demo' [ 344.569087] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 344.569285] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 344.569985] test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_busy -> [MODULE_STATE_LIVE] Normal state [ 344.581732] livepatch: 'test_klp_callbacks_demo': starting patching transition [ 344.583220] livepatch: 'test_klp_callbacks_demo': completing patching transition [ 344.583299] test_klp_callbacks_demo: post_patch_callback: vmlinux [ 344.584026] test_klp_callbacks_demo: post_patch_callback: test_klp_callbacks_busy -> [MODULE_STATE_LIVE] Normal state [ 344.585171] livepatch: 'test_klp_callbacks_demo': patching complete [ 344.695807] % modprobe test_klp_callbacks_mod [ 344.721939] livepatch: applying patch 'test_klp_callbacks_demo' to loading module 'test_klp_callbacks_mod' [ 344.723022] test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_COMING] Full formed, running module_init [ 344.724364] test_klp_callbacks_demo: post_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_COMING] Full formed, running module_init [ 344.726915] test_klp_callbacks_mod: test_klp_callbacks_mod_init [ 344.751958] % rmmod test_klp_callbacks_mod [ 344.774517] test_klp_callbacks_mod: test_klp_callbacks_mod_exit [ 344.775517] test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_GOING] Going away [ 344.776736] livepatch: reverting patch 'test_klp_callbacks_demo' on unloading module 'test_klp_callbacks_mod' [ 344.777827] test_klp_callbacks_demo: post_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_GOING] Going away [ 344.793097] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo/enabled [ 344.794672] livepatch: 'test_klp_callbacks_demo': initializing unpatching transition [ 344.794933] test_klp_callbacks_demo: pre_unpatch_callback: vmlinux [ 344.795627] test_klp_callbacks_demo: pre_unpatch_callback: test_klp_callbacks_busy -> [MODULE_STATE_LIVE] Normal state [ 344.796790] livepatch: 'test_klp_callbacks_demo': starting unpatching transition [ 344.798929] livepatch: 'test_klp_callbacks_demo': completing unpatching transition [ 344.908589] test_klp_callbacks_demo: post_unpatch_callback: vmlinux [ 344.909942] test_klp_callbacks_demo: post_unpatch_callback: test_klp_callbacks_busy -> [MODULE_STATE_LIVE] Normal state [ 344.911512] livepatch: 'test_klp_callbacks_demo': unpatching complete [ 344.960434] % rmmod test_klp_callbacks_demo [ 345.060419] % rmmod test_klp_callbacks_busy [ 345.090211] test_klp_callbacks_busy: test_klp_callbacks_busy_exit [ 345.262975] ===== TEST: busy target module ===== [ 345.345901] % modprobe test_klp_callbacks_busy block_transition=Y [ 345.371955] test_klp_callbacks_busy: test_klp_callbacks_busy_init [ 345.372825] test_klp_callbacks_busy: busymod_work_func enter [ 345.464941] % modprobe test_klp_callbacks_demo [ 345.494356] livepatch: enabling patch 'test_klp_callbacks_demo' [ 345.495042] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 345.495123] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 345.495769] test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_busy -> [MODULE_STATE_LIVE] Normal state [ 345.500760] livepatch: 'test_klp_callbacks_demo': starting patching transition [ 345.608072] % modprobe test_klp_callbacks_mod [ 345.643561] livepatch: applying patch 'test_klp_callbacks_demo' to loading module 'test_klp_callbacks_mod' [ 345.644615] test_klp_callbacks_demo: pre_patch_callback: test_klp_callbacks_mod -> [MODULE_STATE_COMING] Full formed, running module_init [ 345.648682] test_klp_callbacks_mod: test_klp_callbacks_mod_init [ 345.674680] % rmmod test_klp_callbacks_mod [ 345.717644] test_klp_callbacks_mod: test_klp_callbacks_mod_exit [ 345.718672] livepatch: reverting patch 'test_klp_callbacks_demo' on unloading module 'test_klp_callbacks_mod' [ 345.719829] test_klp_callbacks_demo: post_unpatch_callback: test_klp_callbacks_mod -> [MODULE_STATE_GOING] Going away [ 345.730032] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo/enabled [ 345.731240] livepatch: 'test_klp_callbacks_demo': reversing transition from patching to unpatching [ 345.731375] livepatch: 'test_klp_callbacks_demo': starting unpatching transition [ 346.557078] livepatch: 'test_klp_callbacks_demo': completing unpatching transition [ 346.673903] test_klp_callbacks_demo: post_unpatch_callback: vmlinux [ 346.674986] test_klp_callbacks_demo: post_unpatch_callback: test_klp_callbacks_busy -> [MODULE_STATE_LIVE] Normal state [ 346.676521] livepatch: 'test_klp_callbacks_demo': unpatching complete [ 346.797207] % rmmod test_klp_callbacks_demo [ 346.876673] % rmmod test_klp_callbacks_busy [ 346.899743] test_klp_callbacks_busy: busymod_work_func exit [ 346.900380] test_klp_callbacks_busy: test_klp_callbacks_busy_exit [ 347.062059] ===== TEST: multiple livepatches ===== [ 347.141934] % modprobe test_klp_callbacks_demo [ 347.171225] livepatch: enabling patch 'test_klp_callbacks_demo' [ 347.171911] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 347.171990] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 347.172576] livepatch: 'test_klp_callbacks_demo': starting patching transition [ 347.177260] livepatch: 'test_klp_callbacks_demo': completing patching transition [ 347.177340] test_klp_callbacks_demo: post_patch_callback: vmlinux [ 347.178140] livepatch: 'test_klp_callbacks_demo': patching complete [ 347.289574] % modprobe test_klp_callbacks_demo2 [ 347.320011] livepatch: enabling patch 'test_klp_callbacks_demo2' [ 347.320694] livepatch: 'test_klp_callbacks_demo2': initializing patching transition [ 347.320773] test_klp_callbacks_demo2: pre_patch_callback: vmlinux [ 347.321381] livepatch: 'test_klp_callbacks_demo2': starting patching transition [ 347.323149] livepatch: 'test_klp_callbacks_demo2': completing patching transition [ 347.323220] test_klp_callbacks_demo2: post_patch_callback: vmlinux [ 347.323900] livepatch: 'test_klp_callbacks_demo2': patching complete [ 347.350881] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo2/enabled [ 347.352148] livepatch: 'test_klp_callbacks_demo2': initializing unpatching transition [ 347.352182] test_klp_callbacks_demo2: pre_unpatch_callback: vmlinux [ 347.352994] livepatch: 'test_klp_callbacks_demo2': starting unpatching transition [ 347.354963] livepatch: 'test_klp_callbacks_demo2': completing unpatching transition [ 347.355028] test_klp_callbacks_demo2: post_unpatch_callback: vmlinux [ 347.355760] livepatch: 'test_klp_callbacks_demo2': unpatching complete [ 347.357484] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo/enabled [ 347.359089] livepatch: 'test_klp_callbacks_demo': initializing unpatching transition [ 347.359117] test_klp_callbacks_demo: pre_unpatch_callback: vmlinux [ 347.359886] livepatch: 'test_klp_callbacks_demo': starting unpatching transition [ 347.361371] livepatch: 'test_klp_callbacks_demo': completing unpatching transition [ 347.361433] test_klp_callbacks_demo: post_unpatch_callback: vmlinux [ 347.362155] livepatch: 'test_klp_callbacks_demo': unpatching complete [ 347.379193] % rmmod test_klp_callbacks_demo2 [ 347.426044] % rmmod test_klp_callbacks_demo [ 347.642884] ===== TEST: atomic replace ===== [ 347.759524] % modprobe test_klp_callbacks_demo [ 347.794340] livepatch: enabling patch 'test_klp_callbacks_demo' [ 347.795047] livepatch: 'test_klp_callbacks_demo': initializing patching transition [ 347.795573] test_klp_callbacks_demo: pre_patch_callback: vmlinux [ 347.796246] livepatch: 'test_klp_callbacks_demo': starting patching transition [ 347.798265] livepatch: 'test_klp_callbacks_demo': completing patching transition [ 347.798342] test_klp_callbacks_demo: post_patch_callback: vmlinux [ 347.799053] livepatch: 'test_klp_callbacks_demo': patching complete [ 347.903319] % modprobe test_klp_callbacks_demo2 replace=1 [ 347.936026] livepatch: enabling patch 'test_klp_callbacks_demo2' [ 347.936785] livepatch: 'test_klp_callbacks_demo2': initializing patching transition [ 347.936870] test_klp_callbacks_demo2: pre_patch_callback: vmlinux [ 347.937516] livepatch: 'test_klp_callbacks_demo2': starting patching transition [ 347.939402] livepatch: 'test_klp_callbacks_demo2': completing patching transition [ 347.939911] test_klp_callbacks_demo2: post_patch_callback: vmlinux [ 347.940601] livepatch: 'test_klp_callbacks_demo2': patching complete [ 347.970131] % echo 0 > /sys/kernel/livepatch/test_klp_callbacks_demo2/enabled [ 347.971635] livepatch: 'test_klp_callbacks_demo2': initializing unpatching transition [ 347.971813] test_klp_callbacks_demo2: pre_unpatch_callback: vmlinux [ 347.972496] livepatch: 'test_klp_callbacks_demo2': starting unpatching transition [ 347.974578] livepatch: 'test_klp_callbacks_demo2': completing unpatching transition [ 347.974645] test_klp_callbacks_demo2: post_unpatch_callback: vmlinux [ 347.975411] livepatch: 'test_klp_callbacks_demo2': unpatching complete [ 347.991279] % rmmod test_klp_callbacks_demo2 [ 348.038400] % rmmod test_klp_callbacks_demo