OpenVZ / Virtuozzo kernel development (devel@openvz.org)
 help / color / mirror / Atom feed
From: Konstantin Khorenko <khorenko@virtuozzo.com>
To: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
Cc: devel@openvz.org
Subject: Re: [Devel] [PATCH vz10 v2] selftests: binderfs: skip the stress test without binderfs
Date: Wed, 23 Sep 2026 20:03:32 +0200	[thread overview]
Message-ID: <d7fb3000-b4fb-4643-9d63-10a593f9d0e4@virtuozzo.com> (raw)
In-Reply-To: <20260910031003.395965-1-eva.kurchatova@virtuozzo.com>

changelog?

--
Best regards,

Konstantin Khorenko,
Virtuozzo Linux Kernel Team

On 9/10/26 05:10, Eva Kurchatova wrote:
> binderfs_stress mounts binderfs and asserts on the first mount, so on
> a kernel without CONFIG_ANDROID_BINDERFS the case fails rather than
> reporting that the filesystem is not there.
> 
> Ask /proc/filesystems whether the kernel has it, the way
> supports_filesystem() in the landlock tests and check_resctrlfs_support()
> in the resctrl ones already do, and skip when it does not.
> 
> Probing with a mount instead would not work here: the test is meant to
> run unprivileged, and path_mount() rejects an unprivileged caller in
> may_mount() before do_new_mount() ever looks the filesystem type up, so
> the probe would see EPERM whether binderfs is there or not.  The child
> would then still reach the real mount inside its userns and fail.
> 
> https://virtuozzo.atlassian.net/browse/VSTOR-142449
> Feature: fix selftests
> 
> Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
> ---
>  .../filesystems/binderfs/binderfs_test.c      | 25 +++++++++++++++++++
>  1 file changed, 25 insertions(+)
> 
> diff --git a/tools/testing/selftests/filesystems/binderfs/binderfs_test.c b/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
> index 319567f0fae1..fd1f9b6e5d46 100644
> --- a/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
> +++ b/tools/testing/selftests/filesystems/binderfs/binderfs_test.c
> @@ -36,6 +36,28 @@
>  		fd = -EBADF;        \
>  	}
>  
> +static bool binderfs_supported(void)
> +{
> +	char line[128];
> +	bool ret = false;
> +	FILE *f;
> +
> +	f = fopen("/proc/filesystems", "r");
> +	if (!f)
> +		return true;	/* Cannot tell, let the test run and report. */
> +
> +	while (fgets(line, sizeof(line), f)) {
> +		/* binderfs has no backing device, hence the "nodev" prefix. */
> +		if (!strcmp(line, "nodev\tbinder\n")) {
> +			ret = true;
> +			break;
> +		}
> +	}
> +
> +	fclose(f);
> +	return ret;
> +}
> +
>  static void change_mountns(struct __test_metadata *_metadata)
>  {
>  	int ret;
> @@ -388,6 +410,9 @@ TEST(binderfs_stress)
>  	char binderfs_mntpt[] = P_tmpdir "/binderfs_XXXXXX",
>  		device_path[sizeof(P_tmpdir "/binderfs_XXXXXX/") + BINDERFS_MAX_NAME];
>  
> +	if (!binderfs_supported())
> +		SKIP(return, "The Android binderfs filesystem is not available");
> +
>  	ret = socketpair(PF_LOCAL, SOCK_STREAM | SOCK_CLOEXEC, 0, syncfds);
>  	ASSERT_EQ(ret, 0) {
>  		TH_LOG("%s - Failed to create socket pair", strerror(errno));

_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel

  reply	other threads:[~2026-09-23 18:04 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-10  3:10 Eva Kurchatova
2026-09-23 18:03 ` Konstantin Khorenko [this message]
2026-09-23 18:47 ` Konstantin Khorenko

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=d7fb3000-b4fb-4643-9d63-10a593f9d0e4@virtuozzo.com \
    --to=khorenko@virtuozzo.com \
    --cc=devel@openvz.org \
    --cc=eva.kurchatova@virtuozzo.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