selftests/sysctl: Fix to load test_sysctl module
Fix to load test_sysctl.ko module correctly. sysctl.sh checks whether the test module is embedded (or loaded already) or not at first, and if not, it returns skip error instead of trying modprobe. Thus, there is no chance to load the test_sysctl test module. Instead, this removes that module embedded check and returns skip error only if it ensures that there is no embedded test module *and* no loadable test module. This also avoid referring config file since that is not installed. Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> Reviewed-by: Kees Cook <keescook@chromium.org> Reviewed-by: Luis Chamberlain <mcgrof@kernel.org> Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Родитель
2f56f84511
Коммит
eee470e073
|
@ -40,16 +40,6 @@ ALL_TESTS="$ALL_TESTS 0004:1:1:uint_0001"
|
|||
ALL_TESTS="$ALL_TESTS 0005:3:1:int_0003"
|
||||
ALL_TESTS="$ALL_TESTS 0006:50:1:bitmap_0001"
|
||||
|
||||
test_modprobe()
|
||||
{
|
||||
if [ ! -d $DIR ]; then
|
||||
echo "$0: $DIR not present" >&2
|
||||
echo "You must have the following enabled in your kernel:" >&2
|
||||
cat $TEST_DIR/config >&2
|
||||
exit $ksft_skip
|
||||
fi
|
||||
}
|
||||
|
||||
function allow_user_defaults()
|
||||
{
|
||||
if [ -z $DIR ]; then
|
||||
|
@ -125,10 +115,12 @@ function load_req_mod()
|
|||
if [ ! -d $DIR ]; then
|
||||
if ! modprobe -q -n $TEST_DRIVER; then
|
||||
echo "$0: module $TEST_DRIVER not found [SKIP]"
|
||||
echo "You must set CONFIG_TEST_SYSCTL=m in your kernel" >&2
|
||||
exit $ksft_skip
|
||||
fi
|
||||
modprobe $TEST_DRIVER
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "$0: modprobe $TEST_DRIVER failed."
|
||||
exit
|
||||
fi
|
||||
fi
|
||||
|
@ -929,7 +921,6 @@ test_reqs
|
|||
allow_user_defaults
|
||||
check_production_sysctl_writes_strict
|
||||
load_req_mod
|
||||
test_modprobe
|
||||
|
||||
trap "test_finish" EXIT
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче