From: Kees Cook <keescook@chromium.org>
To: "Mickaël Salaün" <mic@digikod.net>
Cc: "Christian Brauner" <brauner@kernel.org>,
"Jakub Kicinski" <kuba@kernel.org>,
"Mark Brown" <broonie@kernel.org>,
"Shengyu Li" <shengyu.li.evgeny@gmail.com>,
"Shuah Khan" <shuah@kernel.org>,
"David S . Miller" <davem@davemloft.net>,
"Günther Noack" <gnoack@google.com>,
"Will Drewry" <wad@chromium.org>,
"kernel test robot" <oliver.sang@intel.com>,
linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org
Subject: Re: [PATCH v2 9/9] selftests/harness: Fix vfork() side effects
Date: Mon, 29 Apr 2024 08:57:58 -0700 [thread overview]
Message-ID: <202404290857.4BEAF6D55@keescook> (raw)
In-Reply-To: <20240429130931.2394118-10-mic@digikod.net>
On Mon, Apr 29, 2024 at 03:09:31PM +0200, Mickaël Salaün wrote:
> Setting the time namespace with CLONE_NEWTIME returns -EUSERS if the
> calling thread shares memory with another thread (because of the shared
> vDSO), which is the case when it is created with vfork().
>
> Fix pidfd_setns_test by replacing test harness's vfork() call with a
> clone3() call with CLONE_VFORK, and an explicit sharing of the
> _metadata and self objects.
>
> Replace _metadata->teardown_parent with a new FIXTURE_TEARDOWN_PARENT()
> helper that can replace FIXTURE_TEARDOWN(). This is a cleaner approach
> and it enables to selectively share the fixture data between the child
> process running tests and the parent process running the fixture
> teardown. This also avoids updating several tests to not rely on the
> self object's copy-on-write property (e.g. storing the returned value of
> a fork() call).
>
> Cc: Christian Brauner <brauner@kernel.org>
> Cc: David S. Miller <davem@davemloft.net>
> Cc: Günther Noack <gnoack@google.com>
> Cc: Jakub Kicinski <kuba@kernel.org>
> Cc: Kees Cook <keescook@chromium.org>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Shuah Khan <shuah@kernel.org>
> Cc: Will Drewry <wad@chromium.org>
> Reported-by: kernel test robot <oliver.sang@intel.com>
> Closes: https://lore.kernel.org/oe-lkp/202403291015.1fcfa957-oliver.sang@intel.com
> Fixes: 0710a1a73fb4 ("selftests/harness: Merge TEST_F_FORK() into TEST_F()")
> Signed-off-by: Mickaël Salaün <mic@digikod.net>
Thanks for splitting these up! I found it much more digestible. :)
Reviewed-by: Kees Cook <keescook@chromium.org>
--
Kees Cook
prev parent reply other threads:[~2024-04-29 15:58 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-29 13:09 [PATCH v2 0/5] Fix Kselftest's vfork() side effects Mickaël Salaün
2024-04-29 13:09 ` [PATCH v2 1/9] selftests/pidfd: Fix config for pidfd_setns_test Mickaël Salaün
2024-04-29 13:09 ` [PATCH v2 2/9] selftests/landlock: Fix FS tests when run on a private mount point Mickaël Salaün
2024-04-29 13:09 ` [PATCH v2 3/9] selftests/harness: Fix fixture teardown Mickaël Salaün
2024-04-29 13:09 ` [PATCH v2 4/9] selftests/harness: Fix interleaved scheduling leading to race conditions Mickaël Salaün
2024-04-29 15:52 ` Kees Cook
2024-04-29 17:16 ` Jakub Kicinski
2024-04-29 19:18 ` Mickaël Salaün
2024-04-29 13:09 ` [PATCH v2 5/9] selftests/landlock: Do not allocate memory in fixture data Mickaël Salaün
2024-04-29 15:52 ` Kees Cook
2024-04-29 13:09 ` [PATCH v2 6/9] selftests/harness: Constify fixture variants Mickaël Salaün
2024-04-29 15:53 ` Kees Cook
2024-04-29 13:09 ` [PATCH v2 7/9] selftests/pidfd: Fix wrong expectation Mickaël Salaün
2024-04-29 15:56 ` Kees Cook
2024-04-29 13:09 ` [PATCH v2 8/9] selftests/harness: Share _metadata between forked processes Mickaël Salaün
2024-04-29 15:56 ` Kees Cook
2024-04-29 13:09 ` [PATCH v2 9/9] selftests/harness: Fix vfork() side effects Mickaël Salaün
2024-04-29 15:57 ` Kees Cook [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=202404290857.4BEAF6D55@keescook \
--to=keescook@chromium.org \
--cc=brauner@kernel.org \
--cc=broonie@kernel.org \
--cc=davem@davemloft.net \
--cc=gnoack@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=mic@digikod.net \
--cc=oliver.sang@intel.com \
--cc=shengyu.li.evgeny@gmail.com \
--cc=shuah@kernel.org \
--cc=wad@chromium.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.