linux-hardening.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Mickaël Salaün" <mic@digikod.net>
To: Brendan Higgins <brendanhiggins@google.com>,
	David Gow <davidgow@google.com>,
	Kees Cook <keescook@chromium.org>, Rae Moar <rmoar@google.com>,
	Shuah Khan <skhan@linuxfoundation.org>
Cc: "Mickaël Salaün" <mic@digikod.net>,
	"Alan Maguire" <alan.maguire@oracle.com>,
	"Borislav Petkov" <bp@alien8.de>,
	"Dave Hansen" <dave.hansen@linux.intel.com>,
	"H . Peter Anvin" <hpa@zytor.com>,
	"Ingo Molnar" <mingo@redhat.com>,
	"James Morris" <jamorris@linux.microsoft.com>,
	"Luis Chamberlain" <mcgrof@kernel.org>,
	"Madhavan T . Venkataraman" <madvenka@linux.microsoft.com>,
	"Marco Pagani" <marpagan@redhat.com>,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Sean Christopherson" <seanjc@google.com>,
	"Stephen Boyd" <sboyd@kernel.org>,
	"Thara Gopinath" <tgopinath@microsoft.com>,
	"Thomas Gleixner" <tglx@linutronix.de>,
	"Vitaly Kuznetsov" <vkuznets@redhat.com>,
	"Wanpeng Li" <wanpengli@tencent.com>,
	"Zahra Tarkhani" <ztarkhani@microsoft.com>,
	kvm@vger.kernel.org, linux-hardening@vger.kernel.org,
	linux-hyperv@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-security-module@vger.kernel.org,
	linux-um@lists.infradead.org, x86@kernel.org
Subject: [PATCH v1 0/8] Run KUnit tests late and handle faults
Date: Thu, 29 Feb 2024 18:04:01 +0100	[thread overview]
Message-ID: <20240229170409.365386-1-mic@digikod.net> (raw)

Hi,

This patch series moves KUnit test execution at the very end of kernel
initialization, just before launching the init process.  This opens the
way to test any kernel code in its normal state (i.e. fully
initialized).

This patch series also teaches KUnit to handle kthread faults as errors,
and it brings a few related fixes and improvements.

New tests check NULL pointer dereference and read-only memory, which
wasn't possible before.

This is useful to test current kernel self-protection mechanisms or
future ones such as Heki: https://github.com/heki-linux

Regards,

Mickaël Salaün (8):
  kunit: Run tests when the kernel is fully setup
  kunit: Handle thread creation error
  kunit: Fix kthread reference
  kunit: Fix timeout message
  kunit: Handle test faults
  kunit: Fix KUNIT_SUCCESS() calls in iov_iter tests
  kunit: Print last test location on fault
  kunit: Add tests for faults

 include/kunit/test.h                |  24 +++++-
 include/kunit/try-catch.h           |   3 -
 init/main.c                         |   4 +-
 lib/bitfield_kunit.c                |   8 +-
 lib/checksum_kunit.c                |   2 +-
 lib/kunit/executor.c                |  81 ++++++++++++++------
 lib/kunit/kunit-example-test.c      |   6 +-
 lib/kunit/kunit-test.c              | 115 +++++++++++++++++++++++++++-
 lib/kunit/try-catch.c               |  33 +++++---
 lib/kunit_iov_iter.c                |  70 ++++++++---------
 tools/testing/kunit/kunit_kernel.py |   6 +-
 11 files changed, 261 insertions(+), 91 deletions(-)


base-commit: d206a76d7d2726f3b096037f2079ce0bd3ba329b
-- 
2.44.0


             reply	other threads:[~2024-02-29 17:04 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-29 17:04 Mickaël Salaün [this message]
2024-02-29 17:04 ` [PATCH v1 1/8] kunit: Run tests when the kernel is fully setup Mickaël Salaün
2024-02-29 18:21   ` Kees Cook
2024-03-01  5:29   ` kernel test robot
2024-03-01  7:14   ` David Gow
2024-03-01 19:03     ` Mickaël Salaün
2024-03-01 11:03   ` kernel test robot
2024-02-29 17:04 ` [PATCH v1 2/8] kunit: Handle thread creation error Mickaël Salaün
2024-02-29 18:21   ` Kees Cook
2024-02-29 17:04 ` [PATCH v1 3/8] kunit: Fix kthread reference Mickaël Salaün
2024-02-29 18:22   ` Kees Cook
2024-02-29 17:04 ` [PATCH v1 4/8] kunit: Fix timeout message Mickaël Salaün
2024-02-29 18:22   ` Kees Cook
2024-02-29 17:04 ` [PATCH v1 5/8] kunit: Handle test faults Mickaël Salaün
2024-02-29 18:24   ` Kees Cook
2024-03-01 19:09     ` Mickaël Salaün
2024-02-29 17:04 ` [PATCH v1 6/8] kunit: Fix KUNIT_SUCCESS() calls in iov_iter tests Mickaël Salaün
2024-02-29 18:24   ` Kees Cook
2024-02-29 17:04 ` [PATCH v1 7/8] kunit: Print last test location on fault Mickaël Salaün
2024-02-29 18:26   ` Kees Cook
2024-02-29 17:04 ` [PATCH v1 8/8] kunit: Add tests for faults Mickaël Salaün
2024-02-29 18:28   ` Kees Cook
2024-03-01 19:16     ` Mickaël Salaün
2024-03-01 20:42   ` kernel test robot
2024-03-01  7:15 ` [PATCH v1 0/8] Run KUnit tests late and handle faults David Gow
2024-03-01 19:19   ` Mickaël Salaün

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=20240229170409.365386-1-mic@digikod.net \
    --to=mic@digikod.net \
    --cc=alan.maguire@oracle.com \
    --cc=bp@alien8.de \
    --cc=brendanhiggins@google.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=davidgow@google.com \
    --cc=hpa@zytor.com \
    --cc=jamorris@linux.microsoft.com \
    --cc=keescook@chromium.org \
    --cc=kvm@vger.kernel.org \
    --cc=linux-hardening@vger.kernel.org \
    --cc=linux-hyperv@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux-um@lists.infradead.org \
    --cc=madvenka@linux.microsoft.com \
    --cc=marpagan@redhat.com \
    --cc=mcgrof@kernel.org \
    --cc=mingo@redhat.com \
    --cc=pbonzini@redhat.com \
    --cc=rmoar@google.com \
    --cc=sboyd@kernel.org \
    --cc=seanjc@google.com \
    --cc=skhan@linuxfoundation.org \
    --cc=tglx@linutronix.de \
    --cc=tgopinath@microsoft.com \
    --cc=vkuznets@redhat.com \
    --cc=wanpengli@tencent.com \
    --cc=x86@kernel.org \
    --cc=ztarkhani@microsoft.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).