55. $( dirname $0 ) /functions.sh
66
77MOD_LIVEPATCH=test_klp_livepatch
8+ MOD_LIVEPATCH2=test_klp_callbacks_demo
9+ MOD_LIVEPATCH3=test_klp_syscall
810
911setup_config
1012
@@ -19,6 +21,8 @@ check_sysfs_rights "$MOD_LIVEPATCH" "enabled" "-rw-r--r--"
1921check_sysfs_value " $MOD_LIVEPATCH " " enabled" " 1"
2022check_sysfs_rights " $MOD_LIVEPATCH " " force" " --w-------"
2123check_sysfs_rights " $MOD_LIVEPATCH " " replace" " -r--r--r--"
24+ check_sysfs_rights " $MOD_LIVEPATCH " " stack_order" " -r--r--r--"
25+ check_sysfs_value " $MOD_LIVEPATCH " " stack_order" " 1"
2226check_sysfs_rights " $MOD_LIVEPATCH " " transition" " -r--r--r--"
2327check_sysfs_value " $MOD_LIVEPATCH " " transition" " 0"
2428check_sysfs_rights " $MOD_LIVEPATCH " " vmlinux/patched" " -r--r--r--"
@@ -131,4 +135,71 @@ livepatch: '$MOD_LIVEPATCH': completing unpatching transition
131135livepatch: '$MOD_LIVEPATCH ': unpatching complete
132136% rmmod $MOD_LIVEPATCH "
133137
138+ start_test " sysfs test stack_order value"
139+
140+ load_lp $MOD_LIVEPATCH
141+
142+ check_sysfs_value " $MOD_LIVEPATCH " " stack_order" " 1"
143+
144+ load_lp $MOD_LIVEPATCH2
145+
146+ check_sysfs_value " $MOD_LIVEPATCH2 " " stack_order" " 2"
147+
148+ load_lp $MOD_LIVEPATCH3
149+
150+ check_sysfs_value " $MOD_LIVEPATCH3 " " stack_order" " 3"
151+
152+ disable_lp $MOD_LIVEPATCH2
153+ unload_lp $MOD_LIVEPATCH2
154+
155+ check_sysfs_value " $MOD_LIVEPATCH " " stack_order" " 1"
156+ check_sysfs_value " $MOD_LIVEPATCH3 " " stack_order" " 2"
157+
158+ disable_lp $MOD_LIVEPATCH3
159+ unload_lp $MOD_LIVEPATCH3
160+
161+ disable_lp $MOD_LIVEPATCH
162+ unload_lp $MOD_LIVEPATCH
163+
164+ check_result " % insmod test_modules/$MOD_LIVEPATCH .ko
165+ livepatch: enabling patch '$MOD_LIVEPATCH '
166+ livepatch: '$MOD_LIVEPATCH ': initializing patching transition
167+ livepatch: '$MOD_LIVEPATCH ': starting patching transition
168+ livepatch: '$MOD_LIVEPATCH ': completing patching transition
169+ livepatch: '$MOD_LIVEPATCH ': patching complete
170+ % insmod test_modules/$MOD_LIVEPATCH2 .ko
171+ livepatch: enabling patch '$MOD_LIVEPATCH2 '
172+ livepatch: '$MOD_LIVEPATCH2 ': initializing patching transition
173+ $MOD_LIVEPATCH2 : pre_patch_callback: vmlinux
174+ livepatch: '$MOD_LIVEPATCH2 ': starting patching transition
175+ livepatch: '$MOD_LIVEPATCH2 ': completing patching transition
176+ $MOD_LIVEPATCH2 : post_patch_callback: vmlinux
177+ livepatch: '$MOD_LIVEPATCH2 ': patching complete
178+ % insmod test_modules/$MOD_LIVEPATCH3 .ko
179+ livepatch: enabling patch '$MOD_LIVEPATCH3 '
180+ livepatch: '$MOD_LIVEPATCH3 ': initializing patching transition
181+ livepatch: '$MOD_LIVEPATCH3 ': starting patching transition
182+ livepatch: '$MOD_LIVEPATCH3 ': completing patching transition
183+ livepatch: '$MOD_LIVEPATCH3 ': patching complete
184+ % echo 0 > $SYSFS_KLP_DIR /$MOD_LIVEPATCH2 /enabled
185+ livepatch: '$MOD_LIVEPATCH2 ': initializing unpatching transition
186+ $MOD_LIVEPATCH2 : pre_unpatch_callback: vmlinux
187+ livepatch: '$MOD_LIVEPATCH2 ': starting unpatching transition
188+ livepatch: '$MOD_LIVEPATCH2 ': completing unpatching transition
189+ $MOD_LIVEPATCH2 : post_unpatch_callback: vmlinux
190+ livepatch: '$MOD_LIVEPATCH2 ': unpatching complete
191+ % rmmod $MOD_LIVEPATCH2
192+ % echo 0 > $SYSFS_KLP_DIR /$MOD_LIVEPATCH3 /enabled
193+ livepatch: '$MOD_LIVEPATCH3 ': initializing unpatching transition
194+ livepatch: '$MOD_LIVEPATCH3 ': starting unpatching transition
195+ livepatch: '$MOD_LIVEPATCH3 ': completing unpatching transition
196+ livepatch: '$MOD_LIVEPATCH3 ': unpatching complete
197+ % rmmod $MOD_LIVEPATCH3
198+ % echo 0 > $SYSFS_KLP_DIR /$MOD_LIVEPATCH /enabled
199+ livepatch: '$MOD_LIVEPATCH ': initializing unpatching transition
200+ livepatch: '$MOD_LIVEPATCH ': starting unpatching transition
201+ livepatch: '$MOD_LIVEPATCH ': completing unpatching transition
202+ livepatch: '$MOD_LIVEPATCH ': unpatching complete
203+ % rmmod $MOD_LIVEPATCH "
204+
134205exit 0
0 commit comments