With procfs v3.3.16, the sysctl command doesn't print the set key and
value on error. This change breaks livepatch selftest test-ftrace.sh,
that tests the interaction of sysctl ftrace_enabled:
Make it work with all sysctl versions using '-q' option.
Explicitly print the final status on success so that it can be verified
in the log. The error message is enough on failure.
Reported-by: Kamalesh Babulal <[email protected]>
Signed-off-by: Petr Mladek <[email protected]>
---
The patch has been created against livepatch.git,
branch for-5.9/selftests-cleanup. But it applies also against
the current Linus' tree.
tools/testing/selftests/livepatch/functions.sh | 3 ++-
tools/testing/selftests/livepatch/test-ftrace.sh | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/tools/testing/selftests/livepatch/functions.sh b/tools/testing/selftests/livepatch/functions.sh
index 408529d94ddb..1aba83c87ad3 100644
--- a/tools/testing/selftests/livepatch/functions.sh
+++ b/tools/testing/selftests/livepatch/functions.sh
@@ -75,7 +75,8 @@ function set_dynamic_debug() {
}
function set_ftrace_enabled() {
- result=$(sysctl kernel.ftrace_enabled="$1" 2>&1 | paste --serial --delimiters=' ')
+ result=$(sysctl -q kernel.ftrace_enabled="$1" 2>&1 && \
+ sysctl kernel.ftrace_enabled 2>&1)
echo "livepatch: $result" > /dev/kmsg
}
diff --git a/tools/testing/selftests/livepatch/test-ftrace.sh b/tools/testing/selftests/livepatch/test-ftrace.sh
index 9160c9ec3b6f..552e165512f4 100755
--- a/tools/testing/selftests/livepatch/test-ftrace.sh
+++ b/tools/testing/selftests/livepatch/test-ftrace.sh
@@ -51,7 +51,7 @@ livepatch: '$MOD_LIVEPATCH': initializing patching transition
livepatch: '$MOD_LIVEPATCH': starting patching transition
livepatch: '$MOD_LIVEPATCH': completing patching transition
livepatch: '$MOD_LIVEPATCH': patching complete
-livepatch: sysctl: setting key \"kernel.ftrace_enabled\": Device or resource busy kernel.ftrace_enabled = 0
+livepatch: sysctl: setting key \"kernel.ftrace_enabled\": Device or resource busy
% echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled
livepatch: '$MOD_LIVEPATCH': initializing unpatching transition
livepatch: '$MOD_LIVEPATCH': starting unpatching transition
--
2.26.2
On 14/07/20 2:40 pm, Petr Mladek wrote:
> With procfs v3.3.16, the sysctl command doesn't print the set key and
> value on error. This change breaks livepatch selftest test-ftrace.sh,
> that tests the interaction of sysctl ftrace_enabled:
>
> Make it work with all sysctl versions using '-q' option.
>
> Explicitly print the final status on success so that it can be verified
> in the log. The error message is enough on failure.
>
> Reported-by: Kamalesh Babulal <[email protected]>
> Signed-off-by: Petr Mladek <[email protected]>
Reviewed-by: Kamalesh Babulal <[email protected]>
--
Kamalesh
On 7/14/20 5:10 AM, Petr Mladek wrote:
> With procfs v3.3.16, the sysctl command doesn't print the set key and
> value on error. This change breaks livepatch selftest test-ftrace.sh,
> that tests the interaction of sysctl ftrace_enabled:
>
> Make it work with all sysctl versions using '-q' option.
>
> Explicitly print the final status on success so that it can be verified
> in the log. The error message is enough on failure.
>
> Reported-by: Kamalesh Babulal <[email protected]>
> Signed-off-by: Petr Mladek <[email protected]>
> ---
> The patch has been created against livepatch.git,
> branch for-5.9/selftests-cleanup. But it applies also against
> the current Linus' tree.
>
> tools/testing/selftests/livepatch/functions.sh | 3 ++-
> tools/testing/selftests/livepatch/test-ftrace.sh | 2 +-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/tools/testing/selftests/livepatch/functions.sh b/tools/testing/selftests/livepatch/functions.sh
> index 408529d94ddb..1aba83c87ad3 100644
> --- a/tools/testing/selftests/livepatch/functions.sh
> +++ b/tools/testing/selftests/livepatch/functions.sh
> @@ -75,7 +75,8 @@ function set_dynamic_debug() {
> }
>
> function set_ftrace_enabled() {
> - result=$(sysctl kernel.ftrace_enabled="$1" 2>&1 | paste --serial --delimiters=' ')
> + result=$(sysctl -q kernel.ftrace_enabled="$1" 2>&1 && \
> + sysctl kernel.ftrace_enabled 2>&1)
> echo "livepatch: $result" > /dev/kmsg
> }
>
> diff --git a/tools/testing/selftests/livepatch/test-ftrace.sh b/tools/testing/selftests/livepatch/test-ftrace.sh
> index 9160c9ec3b6f..552e165512f4 100755
> --- a/tools/testing/selftests/livepatch/test-ftrace.sh
> +++ b/tools/testing/selftests/livepatch/test-ftrace.sh
> @@ -51,7 +51,7 @@ livepatch: '$MOD_LIVEPATCH': initializing patching transition
> livepatch: '$MOD_LIVEPATCH': starting patching transition
> livepatch: '$MOD_LIVEPATCH': completing patching transition
> livepatch: '$MOD_LIVEPATCH': patching complete
> -livepatch: sysctl: setting key \"kernel.ftrace_enabled\": Device or resource busy kernel.ftrace_enabled = 0
> +livepatch: sysctl: setting key \"kernel.ftrace_enabled\": Device or resource busy
> % echo 0 > /sys/kernel/livepatch/$MOD_LIVEPATCH/enabled
> livepatch: '$MOD_LIVEPATCH': initializing unpatching transition
> livepatch: '$MOD_LIVEPATCH': starting unpatching transition
>
Looks good, thanks.
Reviewed-by: Joe Lawrence <[email protected]>
-- Joe
On Tue, 14 Jul 2020, Petr Mladek wrote:
> With procfs v3.3.16, the sysctl command doesn't print the set key and
> value on error. This change breaks livepatch selftest test-ftrace.sh,
> that tests the interaction of sysctl ftrace_enabled:
>
> Make it work with all sysctl versions using '-q' option.
>
> Explicitly print the final status on success so that it can be verified
> in the log. The error message is enough on failure.
>
> Reported-by: Kamalesh Babulal <[email protected]>
> Signed-off-by: Petr Mladek <[email protected]>
Acked-by: Miroslav Benes <[email protected]>
M
On Tue 2020-07-14 11:10:30, Petr Mladek wrote:
> With procfs v3.3.16, the sysctl command doesn't print the set key and
> value on error. This change breaks livepatch selftest test-ftrace.sh,
> that tests the interaction of sysctl ftrace_enabled:
>
> Make it work with all sysctl versions using '-q' option.
>
> Explicitly print the final status on success so that it can be verified
> in the log. The error message is enough on failure.
>
> Reported-by: Kamalesh Babulal <[email protected]>
> Signed-off-by: Petr Mladek <[email protected]>
The patch is commited in livepatch.git,
branch for-5.9/selftests-cleanup.
Best Regards,
Petr