From: Konstantin Khorenko <khorenko@virtuozzo.com>
To: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
Cc: devel@openvz.org
Subject: Re: [Devel] [PATCH hci-8.1 v3 1/2] selftests: ve: grant the directories the files sit in
Date: Thu, 24 Sep 2026 18:17:29 +0200 [thread overview]
Message-ID: <62e93f90-399a-4d2e-bc7d-4b68cb879877@virtuozzo.com> (raw)
In-Reply-To: <20260924150116.3258992-1-eva.kurchatova@virtuozzo.com>
changelog v2->v3 ?
+ none of my comments are fixed in both those patches.
NAK for both.
And ask Claude + Fable to review your patches before sending them in the list.
--
Best regards,
Konstantin Khorenko,
Virtuozzo Linux Kernel Team
On 9/24/26 17:01, Eva Kurchatova wrote:
> The sysfs variant names nested leaves, kernel/vmcoreinfo and
> kernel/notes, while the proc one names files at the top of the
> filesystem. Both enforcement tests grant the leaves and nothing else,
> so in the sysfs case the lookup stops at /sys/kernel, which a fresh VE
> cannot traverse, and every open answers ENOENT:
>
> not ok 14 ve_perms.sysfs.enforce_allows
> not ok 15 ve_perms.sysfs.enforce_denies
>
> Grant x on each directory along the way, taken from the path the
> variant already gives.
>
> Fixes: 303ce49b7446 ("selftests/ve: add ve_perms test for proc and sysfs")
>
> https://virtuozzo.atlassian.net/browse/VSTOR-144955
>
> Feature: fix vz selftests
> Signed-off-by: Eva Kurchatova <eva.kurchatova@virtuozzo.com>
> ---
> tools/testing/selftests/ve/ve_perms_test.c | 33 ++++++++++++++++++++++
> 1 file changed, 33 insertions(+)
>
> diff --git a/tools/testing/selftests/ve/ve_perms_test.c b/tools/testing/selftests/ve/ve_perms_test.c
> index 25ffbd42c380..2b542dc30139 100644
> --- a/tools/testing/selftests/ve/ve_perms_test.c
> +++ b/tools/testing/selftests/ve/ve_perms_test.c
> @@ -348,6 +348,37 @@ TEST_F(ve_perms, write_parser)
> * read, and granting x on the directory lets it be traversed (the lookup then
> * fails ENOENT on the missing child, not EACCES).
> */
> +/*
> + * A leaf is only reachable once every directory above it can be traversed.
> + * The variants name their files relative to the mount point, so grant x on
> + * each directory along the way; a file at the top of the filesystem has
> + * none and needs nothing.
> + */
> +static int allow_path(int cgv2_fd, const char *path, const char *file)
> +{
> + char dir[240]; /* set_entry() writes "<dir> <mask>" into 256 */
> + const char *sep;
> +
> + for (sep = strchr(file, '/'); sep; sep = strchr(sep + 1, '/')) {
> + if (sep - file >= (long)sizeof(dir))
> + return -1;
> + snprintf(dir, sizeof(dir), "%.*s", (int)(sep - file), file);
> + if (set_entry(cgv2_fd, path, dir, "x") < 0)
> + return -1;
> + }
> + return 0;
> +}
> +
> +static int allow_paths(int cgv2_fd, const char *path, const char *const files[])
> +{
> + int i;
> +
> + for (i = 0; i < NR_FILES; i++)
> + if (allow_path(cgv2_fd, path, files[i]) < 0)
> + return -1;
> + return 0;
> +}
> +
> TEST_F(ve_perms, enforce_allows)
> {
> char path[PATH_MAX], absent[128];
> @@ -358,6 +389,7 @@ TEST_F(ve_perms, enforce_allows)
>
> ve_file(path, sizeof(path), self->ctid_a, variant->fs);
>
> + ASSERT_EQ(allow_paths(self->cgv2_fd, path, variant->files), 0);
> ASSERT_EQ(set_entries(self->cgv2_fd, path, variant->files, "r"), 0);
> for (i = 0; i < NR_FILES; i++)
> EXPECT_EQ(ve_open_rel(self->cgv2_fd, self->ctid_a,
> @@ -400,6 +432,7 @@ TEST_F(ve_perms, enforce_denies)
> O_RDONLY), 0);
>
> /* Granted w only: visible but not readable. */
> + ASSERT_EQ(allow_paths(self->cgv2_fd, path, variant->files), 0);
> ASSERT_EQ(set_entries(self->cgv2_fd, path, variant->files, "w"), 0);
> for (i = 0; i < NR_FILES; i++)
> EXPECT_EQ(ve_open_rel(self->cgv2_fd, self->ctid_a,
_______________________________________________
Devel mailing list
Devel@openvz.org
https://lists.openvz.org/mailman/listinfo/devel
prev parent reply other threads:[~2026-09-24 16:18 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-24 15:01 Eva Kurchatova
2026-09-24 15:01 ` [Devel] [PATCH hci-8.1 v3 2/2] selftests: ve: introduce vtty pair teardown stress test Eva Kurchatova
2026-09-24 16:17 ` Konstantin Khorenko [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=62e93f90-399a-4d2e-bc7d-4b68cb879877@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