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:
Masami Hiramatsu 2020-05-28 23:52:26 +09:00 коммит произвёл Shuah Khan
Родитель 2f56f84511
Коммит eee470e073
1 изменённых файлов: 2 добавлений и 11 удалений

Просмотреть файл

@ -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