From: Xiao Yang <yangx.jy@cn.fujitsu.com>
To: ltp@lists.linux.it
Subject: [LTP] [PATCH v2] commands/sysctl: Add new regression test for invalid sched_time_avg
Date: Wed, 14 Mar 2018 09:26:29 +0800 [thread overview]
Message-ID: <5AA87A45.6070201@cn.fujitsu.com> (raw)
In-Reply-To: <1520397350-28216-1-git-send-email-yangx.jy@cn.fujitsu.com>
Hi Cyril,
Could you help me review the v2 patch? :-)
Thanks,
Xiao Yang
On 2018/03/07 12:35, Xiao Yang wrote:
> The kernel bug has been fixed in kernel:
> '5ccba44ba118("sched/sysctl: Check user input value of sysctl_sched_time_avg")'
>
> Signed-off-by: Xiao Yang <yangx.jy@cn.fujitsu.com>
> ---
> runtest/commands | 1 +
> testcases/commands/sysctl/Makefile | 25 +++++++++++++++
> testcases/commands/sysctl/sysctl01.sh | 58 +++++++++++++++++++++++++++++++++++
> 3 files changed, 84 insertions(+)
> create mode 100644 testcases/commands/sysctl/Makefile
> create mode 100755 testcases/commands/sysctl/sysctl01.sh
>
> diff --git a/runtest/commands b/runtest/commands
> index 92df3af..fde8063 100644
> --- a/runtest/commands
> +++ b/runtest/commands
> @@ -44,3 +44,4 @@ wc01 wc01.sh
> keyctl01 keyctl01.sh
> gdb01 gdb01.sh
> unshare01 unshare01.sh
> +sysctl01 sysctl01.sh
> diff --git a/testcases/commands/sysctl/Makefile b/testcases/commands/sysctl/Makefile
> new file mode 100644
> index 0000000..61ff705
> --- /dev/null
> +++ b/testcases/commands/sysctl/Makefile
> @@ -0,0 +1,25 @@
> +#
> +# Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
> +# Author: Xiao Yang <yangx.jy@cn.fujitsu.com>
> +#
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> +# General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License along
> +# with this program; if not, see <http://www.gnu.org/licenses/>.
> +#
> +
> +top_srcdir ?= ../../..
> +
> +include $(top_srcdir)/include/mk/env_pre.mk
> +
> +INSTALL_TARGETS := *.sh
> +
> +include $(top_srcdir)/include/mk/generic_leaf_target.mk
> diff --git a/testcases/commands/sysctl/sysctl01.sh b/testcases/commands/sysctl/sysctl01.sh
> new file mode 100755
> index 0000000..6fa5a02
> --- /dev/null
> +++ b/testcases/commands/sysctl/sysctl01.sh
> @@ -0,0 +1,58 @@
> +#!/bin/sh
> +
> +# Copyright (c) 2018 FUJITSU LIMITED. All rights reserved.
> +# Author: Xiao Yang <yangx.jy@cn.fujitsu.com>
> +#
> +# This program is free software; you can redistribute it and#or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 2 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful, but
> +# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
> +# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
> +# for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program; if not, see <http://www.gnu.org/licenses/>.
> +#
> +# Description:
> +# This is a regression test for invalid value of sysctl_sched_time_avg.
> +# System will hang if user set sysctl_sched_time_avg to 0 on buggy kernel.
> +#
> +# The kernel bug has been fixed in kernel:
> +# '5ccba44ba118("sched/sysctl: Check user input value of sysctl_sched_time_avg")'
> +
> +TST_TESTFUNC=sysctl_test
> +TST_NEEDS_ROOT=1
> +TST_NEEDS_CMDS="sysctl"
> +
> +. tst_test.sh
> +
> +sysctl_test()
> +{
> + # With commit d00535d, sched_time_avg was renamed as sched_time_avg_ms
> + local dir="/proc/sys/kernel/"
> + [ -e "$dir""sched_time_avg_ms" ] && local name="sched_time_avg_ms"
> + [ -e "$dir""sched_time_avg" ] && local name="sched_time_avg"
> + [ -z "$name" ] && tst_brk TCONF \
> + "sched_time_avg(_ms) was not supported"
> +
> + local orig_value=$(cat "$dir""$name")
> +
> + sysctl -w "kernel.""$name"=0 >/dev/null 2>&1
> +
> + # Increase the chance of exposing the problem on RHEL6
> + sleep 3
> +
> + local test_value=$(cat "$dir""$name")
> +
> + if [ ${test_value} -eq ${orig_value} ]; then
> + tst_res TPASS "Setting $name failed"
> + else
> + tst_res TFAIL "Setting $name succeeded"
> + sysctl -w "kernel.""$name"=${orig_value} >/dev/null 2>&1
> + fi
> +}
> +
> +tst_run
prev parent reply other threads:[~2018-03-14 1:26 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-23 8:17 [LTP] [PATCH] commands/sysctl: Add new regression test for invalid sched_time_avg Xiao Yang
2018-02-12 9:03 ` Xiao Yang
2018-03-02 9:19 ` Xiao Yang
2018-03-06 12:42 ` Cyril Hrubis
2018-03-07 3:51 ` Xiao Yang
2018-03-14 17:01 ` Cyril Hrubis
2018-03-15 8:22 ` [LTP] [PATCH v3] " Xiao Yang
2018-03-15 12:21 ` Cyril Hrubis
2018-03-15 8:27 ` [LTP] [PATCH] " Xiao Yang
2018-03-07 4:35 ` [LTP] [PATCH v2] " Xiao Yang
2018-03-14 1:26 ` Xiao Yang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5AA87A45.6070201@cn.fujitsu.com \
--to=yangx.jy@cn.fujitsu.com \
--cc=ltp@lists.linux.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox