linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Kees Cook <keescook@chromium.org>
To: Brendan Higgins <brendanhiggins@google.com>
Cc: jdike@addtoit.com, richard@nod.at,
	anton.ivanov@cambridgegreys.com, arnd@arndb.de,
	skhan@linuxfoundation.org, alan.maguire@oracle.com,
	yzaikin@google.com, davidgow@google.com,
	akpm@linux-foundation.org, rppt@linux.ibm.com,
	frowand.list@gmail.com, catalin.marinas@arm.com, will@kernel.org,
	monstr@monstr.eu, mpe@ellerman.id.au, benh@kernel.crashing.org,
	paulus@samba.org, chris@zankel.net, jcmvbkbc@gmail.com,
	gregkh@linuxfoundation.org, sboyd@kernel.org,
	logang@deltatee.com, mcgrof@kernel.org,
	linux-um@lists.infradead.org, linux-arch@vger.kernel.org,
	linux-kselftest@vger.kernel.org, kunit-dev@googlegroups.com,
	linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linuxppc-dev@lists.ozlabs.org, linux-xtensa@linux-xtensa.org
Subject: Re: [PATCH v5 10/12] kunit: Add 'kunit_shutdown' option
Date: Fri, 26 Jun 2020 14:40:32 -0700	[thread overview]
Message-ID: <202006261436.DEF4906A5@keescook> (raw)
In-Reply-To: <20200626210917.358969-11-brendanhiggins@google.com>

On Fri, Jun 26, 2020 at 02:09:15PM -0700, Brendan Higgins wrote:
> From: David Gow <davidgow@google.com>
> 
> Add a new kernel command-line option, 'kunit_shutdown', which allows the
> user to specify that the kernel poweroff, halt, or reboot after
> completing all KUnit tests; this is very handy for running KUnit tests
> on UML or a VM so that the UML/VM process exits cleanly immediately
> after running all tests without needing a special initramfs.
> 
> Signed-off-by: David Gow <davidgow@google.com>
> Signed-off-by: Brendan Higgins <brendanhiggins@google.com>
> Reviewed-by: Stephen Boyd <sboyd@kernel.org>
> ---
>  lib/kunit/executor.c                | 20 ++++++++++++++++++++
>  tools/testing/kunit/kunit_kernel.py |  2 +-
>  tools/testing/kunit/kunit_parser.py |  2 +-
>  3 files changed, 22 insertions(+), 2 deletions(-)
> 
> diff --git a/lib/kunit/executor.c b/lib/kunit/executor.c
> index a95742a4ece73..38061d456afb2 100644
> --- a/lib/kunit/executor.c
> +++ b/lib/kunit/executor.c
> @@ -1,5 +1,6 @@
>  // SPDX-License-Identifier: GPL-2.0
>  
> +#include <linux/reboot.h>
>  #include <kunit/test.h>
>  
>  /*
> @@ -11,6 +12,23 @@ extern struct kunit_suite * const * const __kunit_suites_end[];
>  
>  #if IS_BUILTIN(CONFIG_KUNIT)
>  
> +static char *kunit_shutdown;
> +core_param(kunit_shutdown, kunit_shutdown, charp, 0644);
> +
> +static void kunit_handle_shutdown(void)
> +{
> +	if (!kunit_shutdown)
> +		return;
> +
> +	if (!strcmp(kunit_shutdown, "poweroff"))
> +		kernel_power_off();
> +	else if (!strcmp(kunit_shutdown, "halt"))
> +		kernel_halt();
> +	else if (!strcmp(kunit_shutdown, "reboot"))
> +		kernel_restart(NULL);
> +
> +}

If you have patches that do something just before the initrd, and then
you add more patches to shut down immediately after an initrd, people
may ask you to just use an initrd instead of filling the kernel with
these changes...

I mean, I get it, but it's not hard to make an initrd that poke a sysctl
to start the tests...

In fact, you don't even need a initrd to poke sysctls these days.

-- 
Kees Cook

  reply	other threads:[~2020-06-26 21:40 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-26 21:09 [PATCH v5 00/12] kunit: create a centralized executor to dispatch all KUnit tests Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 01/12] vmlinux.lds.h: add linker section for KUnit test suites Brendan Higgins
2020-06-26 21:20   ` Kees Cook
2020-06-26 21:22     ` Brendan Higgins
2020-07-08  4:31       ` Luis Chamberlain
2020-08-04 20:03         ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 02/12] arch: arm64: " Brendan Higgins
2020-06-26 21:20   ` Kees Cook
2020-06-26 21:23     ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 03/12] arch: microblaze: " Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 04/12] arch: powerpc: " Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 05/12] arch: um: " Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 06/12] arch: xtensa: " Brendan Higgins
2020-06-26 21:30   ` Kees Cook
2020-06-26 21:09 ` [PATCH v5 07/12] kunit: test: create a single centralized executor for all tests Brendan Higgins
2020-06-26 21:29   ` Kees Cook
2020-08-04 20:06     ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 08/12] init: main: add KUnit to kernel init Brendan Higgins
2020-06-26 21:33   ` Kees Cook
2020-07-08  4:38   ` Luis Chamberlain
2020-06-26 21:09 ` [PATCH v5 09/12] kunit: test: add test plan to KUnit TAP format Brendan Higgins
2020-06-26 21:35   ` Kees Cook
2020-08-04 20:10     ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 10/12] kunit: Add 'kunit_shutdown' option Brendan Higgins
2020-06-26 21:40   ` Kees Cook [this message]
2020-08-04 20:18     ` Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 11/12] Documentation: Add kunit_shutdown to kernel-parameters.txt Brendan Higgins
2020-06-26 21:09 ` [PATCH v5 12/12] Documentation: kunit: add a brief blurb about kunit_test_suite Brendan Higgins
2020-06-26 21:52 ` [PATCH v5 00/12] kunit: create a centralized executor to dispatch all KUnit tests Kees Cook
2020-08-04 20:01   ` Brendan Higgins

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=202006261436.DEF4906A5@keescook \
    --to=keescook@chromium.org \
    --cc=akpm@linux-foundation.org \
    --cc=alan.maguire@oracle.com \
    --cc=anton.ivanov@cambridgegreys.com \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=brendanhiggins@google.com \
    --cc=catalin.marinas@arm.com \
    --cc=chris@zankel.net \
    --cc=davidgow@google.com \
    --cc=frowand.list@gmail.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=jcmvbkbc@gmail.com \
    --cc=jdike@addtoit.com \
    --cc=kunit-dev@googlegroups.com \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-um@lists.infradead.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=logang@deltatee.com \
    --cc=mcgrof@kernel.org \
    --cc=monstr@monstr.eu \
    --cc=mpe@ellerman.id.au \
    --cc=paulus@samba.org \
    --cc=richard@nod.at \
    --cc=rppt@linux.ibm.com \
    --cc=sboyd@kernel.org \
    --cc=skhan@linuxfoundation.org \
    --cc=will@kernel.org \
    --cc=yzaikin@google.com \
    /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;
as well as URLs for NNTP newsgroup(s).