selftests/sysctl: Fix to load test_sysctl module
authorMasami Hiramatsu <mhiramat@kernel.org>
Thu, 28 May 2020 14:52:26 +0000 (23:52 +0900)
committerShuah Khan <skhan@linuxfoundation.org>
Tue, 2 Jun 2020 16:26:46 +0000 (10:26 -0600)
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>
tools/testing/selftests/sysctl/sysctl.sh

index 6a970b127c9b3c2d979255b35ada380ba88fe281..c3459f9f2429bea21edde890d39cdf54752df517 100755 (executable)
@@ -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