lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200207151456.4177c8974b779a45520b93d7@kernel.org>
Date:   Fri, 7 Feb 2020 15:14:56 +0900
From:   Masami Hiramatsu <mhiramat@...nel.org>
To:     Alan Maguire <alan.maguire@...cle.com>
Cc:     rostedt@...dmis.org, shuah@...nel.org, mingo@...hat.com,
        linux-kselftest@...r.kernel.org, linux-kernel@...r.kernel.org,
        naveen.n.rao@...ux.vnet.ibm.com, colin.king@...onical.com
Subject: Re: [PATCH 1/2] ftrace/selftests: workaround cgroup RT scheduling
 issues

On Thu,  6 Feb 2020 15:09:19 +0000
Alan Maguire <alan.maguire@...cle.com> wrote:

> wakeup_rt.tc and wakeup.tc tests in tracers/ subdirectory
> fail due to the chrt command returning:
> 
>  chrt: failed to set pid 0's policy: Operation not permitted.
> 
> To work around this, temporarily disable grout RT scheduling
> during ftracetest execution.  Restore original value on
> test run completion.  With these changes in place, both
> tests consistently pass.

OK, this looks good to me.

Acked-by: Masami Hiramatsu <mhiramat@...nel.org>

Thanks!

> 
> Fixes: c575dea2c1a5 ("selftests/ftrace: Add wakeup_rt tracer testcase")
> Fixes: c1edd060b413 ("selftests/ftrace: Add wakeup tracer testcase")
> Signed-off-by: Alan Maguire <alan.maguire@...cle.com>
> ---
>  tools/testing/selftests/ftrace/ftracetest | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
> 
> diff --git a/tools/testing/selftests/ftrace/ftracetest b/tools/testing/selftests/ftrace/ftracetest
> index 063ecb2..3207bbf 100755
> --- a/tools/testing/selftests/ftrace/ftracetest
> +++ b/tools/testing/selftests/ftrace/ftracetest
> @@ -29,8 +29,26 @@ err_ret=1
>  # kselftest skip code is 4
>  err_skip=4
>  
> +# cgroup RT scheduling prevents chrt commands from succeeding, which
> +# induces failures in test wakeup tests.  Disable for the duration of
> +# the tests.
> +sched_rt_runtime=$(sysctl -n kernel.sched_rt_runtime_us)

OK, but can you 

> +
> +set_sysctl() {
> +  sysctl -qw ${1}=${2} >/dev/null 2>&1
> +}
> +
> +setup() {
> +  set_sysctl kernel.sched_rt_runtime_us -1
> +}
> +
> +cleanup() {
> +  set_sysctl kernel.sched_rt_runtime_us $sched_rt_runtime
> +}
> +
>  errexit() { # message
>    echo "Error: $1" 1>&2
> +  cleanup
>    exit $err_ret
>  }
>  
> @@ -39,6 +57,8 @@ if [ `id -u` -ne 0 ]; then
>    errexit "this must be run by root user"
>  fi
>  
> +setup
> +
>  # Utilities
>  absdir() { # file_path
>    (cd `dirname $1`; pwd)
> @@ -235,6 +255,7 @@ TOTAL_RESULT=0
>  
>  INSTANCE=
>  CASENO=0
> +
>  testcase() { # testfile
>    CASENO=$((CASENO+1))
>    desc=`grep "^#[ \t]*description:" $1 | cut -f2 -d:`
> @@ -406,5 +427,7 @@ prlog "# of unsupported: " `echo $UNSUPPORTED_CASES | wc -w`
>  prlog "# of xfailed: " `echo $XFAILED_CASES | wc -w`
>  prlog "# of undefined(test bug): " `echo $UNDEFINED_CASES | wc -w`
>  
> +cleanup
> +
>  # if no error, return 0
>  exit $TOTAL_RESULT
> -- 
> 1.8.3.1
> 


-- 
Masami Hiramatsu <mhiramat@...nel.org>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ