2018-09-05 02:22:17

by Lei Yang

[permalink] [raw]
Subject: [PATCH] sysctl: kselftests: use kernel module instead of built-in

It uses modprobe $TEST_DRIVER in sysctl.sh, so update
config to use "m" instead

Signed-off-by: Lei Yang <[email protected]>
---
tools/testing/selftests/sysctl/config | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/testing/selftests/sysctl/config b/tools/testing/selftests/sysctl/config
index 6ca1480..fc263ef 100644
--- a/tools/testing/selftests/sysctl/config
+++ b/tools/testing/selftests/sysctl/config
@@ -1 +1 @@
-CONFIG_TEST_SYSCTL=y
+CONFIG_TEST_SYSCTL=m
--
1.9.1



2018-09-05 16:49:33

by Shuah Khan

[permalink] [raw]
Subject: Re: [PATCH] sysctl: kselftests: use kernel module instead of built-in

On 09/04/2018 08:20 PM, Lei Yang wrote:
> It uses modprobe $TEST_DRIVER in sysctl.sh, so update
> config to use "m" instead
>
> Signed-off-by: Lei Yang <[email protected]>
> ---
> tools/testing/selftests/sysctl/config | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/sysctl/config b/tools/testing/selftests/sysctl/config
> index 6ca1480..fc263ef 100644
> --- a/tools/testing/selftests/sysctl/config
> +++ b/tools/testing/selftests/sysctl/config
> @@ -1 +1 @@
> -CONFIG_TEST_SYSCTL=y
> +CONFIG_TEST_SYSCTL=m
>

What happens if it is a built-in? Can you elaborate in the changelog

On that note we might have other cases that do modprobe in scripts and
run into the same issue you are trying to solve. :)

thanks,
-- Shuah

2018-09-06 05:48:04

by Lei Yang

[permalink] [raw]
Subject: Re: [PATCH] sysctl: kselftests: use kernel module instead of built-in



On 2018年09月06日 00:47, Shuah Khan wrote:
> On 09/04/2018 08:20 PM, Lei Yang wrote:
>> It uses modprobe $TEST_DRIVER in sysctl.sh, so update
>> config to use "m" instead
>>
>> Signed-off-by: Lei Yang <[email protected]>
>> ---
>> tools/testing/selftests/sysctl/config | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/tools/testing/selftests/sysctl/config b/tools/testing/selftests/sysctl/config
>> index 6ca1480..fc263ef 100644
>> --- a/tools/testing/selftests/sysctl/config
>> +++ b/tools/testing/selftests/sysctl/config
>> @@ -1 +1 @@
>> -CONFIG_TEST_SYSCTL=y
>> +CONFIG_TEST_SYSCTL=m
>>
> What happens if it is a built-in? Can you elaborate in the changelog
>
> On that note we might have other cases that do modprobe in scripts and
> run into the same issue you are trying to solve. :)

I double-checked again, found that it doesn't work on either with
built-in or kernel module
if it's built-in, modprobe test_sysctl still return 0, so it doesn't
matter it's a built-in or module.

but the problem is that test_modprobe check module load before modprobe
execute , I'll sent a V2 patch to fix this and keep its build-in config
untouched


if changes nothing

1) when CONFIG_TEST_SYSCTL=y
root@intel-x86-64:/tmp/sysctl# ./sysctl.sh
Checking production write strict setting ... ok
./sysctl.sh: /sys/module/test_sysctl/ not present
You must have the following enabled in your kernel:
CONFIG_TEST_SYSCTL=y
root@intel-x86-64:/tmp/sysctl# zcat /proc/config.gz |grep TEST_SYS
CONFIG_TEST_SYSCTL=y



2) when CONFIG_TEST_SYSCTL=m
root@intel-x86-64:/tmp/sysctl# ./sysctl.sh
Checking production write strict setting ... ok
./sysctl.sh: /sys/module/test_sysctl/ not present
You must have the following enabled in your kernel:
CONFIG_TEST_SYSCTL=y
root@intel-x86-64:/tmp/sysctl# zcat /proc/config.gz |grep TEST_SYS
CONFIG_TEST_SYSCTL=m


Lei

> thanks,

> -- Shuah