Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/tools/testing/selftests/kexec/test_kexec_jump.sh
26285 views
1
#!/bin/sh
2
# SPDX-License-Identifier: GPL-2.0
3
#
4
# Prevent loading a kernel image via the kexec_load syscall when
5
# signatures are required. (Dependent on CONFIG_IMA_ARCH_POLICY.)
6
7
TEST="$0"
8
. ./kexec_common_lib.sh
9
10
# kexec requires root privileges
11
require_root_privileges
12
13
# get the kernel config
14
get_kconfig
15
16
kconfig_enabled "CONFIG_KEXEC_JUMP=y" "kexec_jump is enabled"
17
if [ $? -eq 0 ]; then
18
log_skip "kexec_jump is not enabled"
19
fi
20
21
kconfig_enabled "CONFIG_IMA_APPRAISE=y" "IMA enabled"
22
ima_appraise=$?
23
24
kconfig_enabled "CONFIG_IMA_ARCH_POLICY=y" \
25
"IMA architecture specific policy enabled"
26
arch_policy=$?
27
28
get_secureboot_mode
29
secureboot=$?
30
31
if [ $secureboot -eq 1 ] && [ $arch_policy -eq 1 ]; then
32
log_skip "Secure boot and CONFIG_IMA_ARCH_POLICY are enabled"
33
fi
34
35
./test_kexec_jump
36
if [ $? -eq 0 ]; then
37
log_pass "kexec_jump succeeded"
38
else
39
# The more likely failure mode if anything went wrong is that the
40
# kernel just crashes. But if we get back here, sure, whine anyway.
41
log_fail "kexec_jump failed"
42
fi
43
44