[Devel] [PATCH hci-8.1 v7 0/2] selftests: ve: fix ve_perms, introduce vtty_stress
Eva Kurchatova
eva.kurchatova at virtuozzo.com
Wed Oct 7 01:15:49 MSK 2026
Patchset for tasks:
https://virtuozzo.atlassian.net/browse/VSTOR-144955
https://virtuozzo.atlassian.net/browse/VSTOR-144771
Should be merged in this order, since without the ve fix, the testsuite
will not pass at all.
Changes in v7:
2/2:
- Read the kernel log every second, match more warning patterns, count
a ring overrun or kmsg read error as a complaint.
- Try the next cgroup id when a running container holds the veid.
- Skip when mknod()/mkdtemp() is refused or /dev/kmsg cannot be opened.
instead of skipping on the first one for good.
- The slave side exits when its parent is already gone.
- Clarify that the veid check is best-effort and subject to TOCTOU.
- Correct the referenced vtty fix commit hash.
- Minor cleanup / skip fixes.
1/2:
- Mention the set_entry() change in the message.
Link to v6: http://lore.virtuozzo.com/kernel/20261002044431.1632888-1-eva.kurchatova@virtuozzo.com/T/#t
Changes in v6:
2/2:
- Ask the kernel whether the veid is taken before writing ve.veid, and
skip when it is, instead of assuming the 108..200 range is free.
- Skip when the slave node lands on a nodev mount, where mknod()
succeeds and every open fails with EACCES.
- kmsg_check() still fails on any WARNING, BUG or Oops record, as the
v2 review asked: the node runs nothing else during the test.
Link to v5: http://lore.virtuozzo.com/kernel/20261001032531.1307025-1-eva.kurchatova@virtuozzo.com/T/#t
Changes in v5:
2/2:
- Rebased.
- Drop the vendored uapi structure definition.
- Use newly introduced VE test helpers instead of hand-rolled ones.
- Check subtree_control write, skip if needed.
- Report child exit status alongside "The VE side never came up".
Link to v4: http://lore.virtuozzo.com/kernel/5fc7cab9-c486-4568-8034-693d756b1050@virtuozzo.com/T/#t
Changes in v4:
1/2:
- Check the snprintf() in set_entry() against sizeof() and give the
buffer PATH_MAX, similar to how ve_open_rel() already operates.
- Correct comments.
- Fix the Feature tag.
2/2:
- Move the double release_tty() history out of the file header into
the message. The header keeps what the test does, how it reaches
both ends, and the usage line.
- Match "general protection fault" records as well, they carry no
"Oops:" prefix.
- Reason about the test reproduction time in the commit message.
- Document that the test assumes its veid is not in use by a
running container in the commit message.
- Default to 30 seconds and drop the settings file, the run now fits
the timeout the suite already has.
Link to v3: https://lists.openvz.org/pipermail/devel/2026-September/085277.html
Changes in v3:
1/2:
- Code unchanged from v2. Only the test count and the sentence about
the proc variant were dropped from the message; the rest of the v2
review is addressed in v4.
2/2:
- Corrections in commit message and comments.
- Bail out on the first open errno that is not EBUSY, EIO or ENXIO,
on both ends, and report it, instead of spinning erroneously.
- Match /dev/kmsg one record at a time.
- Keep reading /dev/kmsg after EPIPE instead of stopping on it.
- Put the slave node under a private mkdtemp() directory instead of a
fixed name in /tmp.
- Kill the slave side when the master side gives up, with
PR_SET_PDEATHSIG as the backstop, so it does not hold the cgroup
open against destroy_ve().
- Call destroy_ve() on the one exit path that skipped it.
- Default to 60 seconds, from 600.
Link to v2: https://lists.openvz.org/pipermail/devel/2026-September/085125.html
Changes in v2:
1/2:
- Add the Fixes: tag, the code is unchanged.
2/2:
- Add the binary to .gitignore.
- Formatting: single spaces, one initialiser per line.
Link to v1: https://lists.openvz.org/pipermail/devel/2026-September/085081.html
Eva Kurchatova (2):
selftests: ve: grant the directories the files sit in
selftests: ve: introduce vtty pair teardown stress test
tools/testing/selftests/ve/.gitignore | 1 +
tools/testing/selftests/ve/Makefile | 3 +-
tools/testing/selftests/ve/ve_perms_test.c | 34 +-
tools/testing/selftests/ve/ve_vtty_stress.c | 416 ++++++++++++++++++++
4 files changed, 451 insertions(+), 3 deletions(-)
create mode 100644 tools/testing/selftests/ve/ve_vtty_stress.c
--
2.56.0
More information about the Devel
mailing list