Page MenuHomeFreeBSD

igor.ostapenko_pm.me (Igor Ostapenko)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 2 2023, 11:30 AM (59 w, 1 d)

Recent Activity

Mon, Apr 1

igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

Jail related error messages are corrected after FreeBSD based code separation. The GitHub PR has been updated respectively: https://github.com/freebsd/kyua/pull/224.

Mon, Apr 1, 1:10 PM

Sat, Mar 23

igor.ostapenko_pm.me added a comment to D42350: kyua: add jail execution environment.

I've updated the GitHub PR respectively: https://github.com/freebsd/kyua/pull/224.

Sat, Mar 23, 11:30 AM
igor.ostapenko_pm.me added inline comments to D42350: kyua: add jail execution environment.
Sat, Mar 23, 11:24 AM
igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

Make mandoc -T lint and igor report nothing for kyuafile.5 and kyua.conf.5.

Sat, Mar 23, 11:21 AM

Fri, Mar 22

igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

The respective documentation update is added. Two man pages are patched: kyua.conf.5 and kyuafile.5.

Fri, Mar 22, 5:36 PM

Feb 27 2024

igor.ostapenko_pm.me added a comment to D42350: kyua: add jail execution environment.

Updated summary of this Differential to align it with the current implementation.

Feb 27 2024, 6:14 PM
igor.ostapenko_pm.me updated the summary of D42350: kyua: add jail execution environment.
Feb 27 2024, 6:13 PM

Feb 26 2024

igor.ostapenko_pm.me updated the test plan for D42350: kyua: add jail execution environment.
Feb 26 2024, 4:15 PM
igor.ostapenko_pm.me updated the test plan for D44087: kyua: convert some tests for execenv=jail demo.
Feb 26 2024, 4:13 PM
igor.ostapenko_pm.me requested review of D44087: kyua: convert some tests for execenv=jail demo.
Feb 26 2024, 4:04 PM
igor.ostapenko_pm.me added a comment to D42350: kyua: add jail execution environment.

Documentation update and extra tests of Kyua itself are still postponed until the code freeze.

Feb 26 2024, 4:01 PM
igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

This is a re-worked version of the patch after the recent discussion on freebsd-hackers@ list:

Feb 26 2024, 3:57 PM

Feb 23 2024

igor.ostapenko_pm.me updated the diff for D44040: tests: use built-in require.progs instead of custom solution.

Align the patch with the main.

Feb 23 2024, 2:04 PM
igor.ostapenko_pm.me updated the diff for D44039: tests: use built-in require.progs instead of custom solution.

Align the patch with the main.

Feb 23 2024, 2:01 PM
igor.ostapenko_pm.me requested review of D44040: tests: use built-in require.progs instead of custom solution.
Feb 23 2024, 11:11 AM
igor.ostapenko_pm.me requested review of D44039: tests: use built-in require.progs instead of custom solution.
Feb 23 2024, 10:40 AM

Feb 3 2024

igor.ostapenko_pm.me added a comment to D42350: kyua: add jail execution environment.

Please, find the PR here: https://github.com/freebsd/kyua/pull/224.

Feb 3 2024, 5:01 PM

Feb 1 2024

igor.ostapenko_pm.me added a comment to D42350: kyua: add jail execution environment.
Feb 1 2024, 10:24 PM
igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

Resolve the recent comments.

Feb 1 2024, 10:19 PM

Jan 29 2024

igor.ostapenko_pm.me requested review of D43657: pf: uncomment counter asserts after mem leak fix.
Jan 29 2024, 10:38 PM

Jan 27 2024

igor.ostapenko_pm.me added a comment to D42350: kyua: add jail execution environment.

@markj @ngie , the current state of the patch seems to cover most of the comments and agreements. I guess we could land it and think of further priorities like FreeBSD specifics separation, jail naming improvements (if it's a must today), probably tests of the kyua itself, man updates, etc. So, the subsequent changes could be separate reviews to ease the cognitive load.

Jan 27 2024, 4:58 PM
igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

Migrate from hard-coded JAIL_MAX to dynamic security.jail.children.max sysctl. The latter was recently added to the main: https://reviews.freebsd.org/D43565.

Jan 27 2024, 4:47 PM

Jan 26 2024

igor.ostapenko_pm.me closed D43565: kern_jail: add security.jail.children.max and .cur sysctl.

@jamie, thanks for the commit.

Jan 26 2024, 6:43 PM
igor.ostapenko_pm.me abandoned D43476: sys/jail.h: expose JAIL_MAX constant to applications.
Jan 26 2024, 6:42 PM
igor.ostapenko_pm.me added a comment to D43565: kern_jail: add security.jail.children.max and .cur sysctl.

May I ask for the help? To land the commit itself.

Jan 26 2024, 11:54 AM

Jan 25 2024

igor.ostapenko_pm.me added a comment to D43476: sys/jail.h: expose JAIL_MAX constant to applications.

I think we can abandon this proposal in favor of the dynamic security.jail.children.max sysctl. Landing this patch has a non-zero chance to break something, it looks better to keep the things as they are.

Jan 25 2024, 11:56 PM
igor.ostapenko_pm.me added a comment to D43565: kern_jail: add security.jail.children.max and .cur sysctl.

Is the plan still to use JAIL_MAX in the test work, or to switch to this since tests can be executed started in non-prison0?

Jan 25 2024, 11:52 PM
igor.ostapenko_pm.me added a comment to D43565: kern_jail: add security.jail.children.max and .cur sysctl.

c) Or something else what I have not spotted yet :)

c) Jamie wasn't thinking and of course you don't need it for read-only.

Jan 25 2024, 1:52 PM
igor.ostapenko_pm.me updated the diff for D43565: kern_jail: add security.jail.children.max and .cur sysctl.

A little test improvement with additional comment about the magic numbers.

Jan 25 2024, 1:48 PM

Jan 24 2024

igor.ostapenko_pm.me added a comment to D43565: kern_jail: add security.jail.children.max and .cur sysctl.

You'll want to add CTLFLAG_PRISON to the sysctl flags.

Jan 24 2024, 9:07 PM

Jan 23 2024

igor.ostapenko_pm.me added a comment to D43476: sys/jail.h: expose JAIL_MAX constant to applications.

That would be acceptable, though I would prefer a more general solution. There are many useful bits of information about the current jail that don't need to be hidden from users, and few that are worth keeping hidden. I've been thinking of allowing jail_get(jid=0, ...) to see a sanitized version of the current jail (no path, jid, name, other things that only make sense in the parent context).

Jan 23 2024, 10:55 PM
igor.ostapenko_pm.me added a comment to D43565: kern_jail: add security.jail.children.max and .cur sysctl.

The purpose reasoning and initial discussion was in https://reviews.freebsd.org/D43476.

Jan 23 2024, 10:47 PM
igor.ostapenko_pm.me requested review of D43565: kern_jail: add security.jail.children.max and .cur sysctl.
Jan 23 2024, 10:47 PM

Jan 22 2024

igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

This update gets wait_any() back to the working state after the recent manipulations with the if-else branching there.

Jan 22 2024, 7:33 PM
igor.ostapenko_pm.me added a comment to D43476: sys/jail.h: expose JAIL_MAX constant to applications.

I've quickly checked different vectors of how children.max could be retrieved by an app for its current prison:

  • Jail library. I see no way to do it, it requires jail name or jid, which are unknown for an app. And even if it's known, the current (parent) jail is "invisible". No surprise here -- all according to the jail design.
  • Jail syscalls. As long as the libjail is merely a wrapper around the syscalls it leaves an app with the same dilemma.
  • sysctl security.jail.param.*. I see that the CTLTYPE_INT leafs are not implemented, they are always 0. As the code comments state it's simply a "menu" of existing params.
Jan 22 2024, 3:28 PM

Jan 21 2024

igor.ostapenko_pm.me added a comment to D43476: sys/jail.h: expose JAIL_MAX constant to applications.
In D43476#991829, @imp wrote:

Just to comment on the jail thing... I'd love it if we could get kyua running well in a jail... it's the best test we have for qemu bsd-user testing...

Jan 21 2024, 11:25 PM
igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

I hope this update covers most of the @ngie points raised.

Jan 21 2024, 11:12 PM

Jan 18 2024

igor.ostapenko_pm.me added inline comments to D42350: kyua: add jail execution environment.
Jan 18 2024, 11:22 PM
igor.ostapenko_pm.me added a comment to D42350: kyua: add jail execution environment.
In D42350#991331, @ngie wrote:

I held off on this review for a while, but I wanted to chime in about a few things:

Jan 18 2024, 10:33 PM
igor.ostapenko_pm.me added inline comments to D42350: kyua: add jail execution environment.
Jan 18 2024, 10:19 PM
igor.ostapenko_pm.me added inline comments to D42350: kyua: add jail execution environment.
Jan 18 2024, 9:43 PM
igor.ostapenko_pm.me updated subscribers of D43476: sys/jail.h: expose JAIL_MAX constant to applications.

Thank you all for your time and the review.

Jan 18 2024, 2:49 PM

Jan 17 2024

igor.ostapenko_pm.me added a comment to D42350: kyua: add jail execution environment.

There is a follow-up idea.

Jan 17 2024, 7:33 PM
igor.ostapenko_pm.me updated the summary of D43476: sys/jail.h: expose JAIL_MAX constant to applications.
Jan 17 2024, 1:33 PM
igor.ostapenko_pm.me requested review of D43476: sys/jail.h: expose JAIL_MAX constant to applications.
Jan 17 2024, 1:31 PM

Jan 16 2024

igor.ostapenko_pm.me added inline comments to D42350: kyua: add jail execution environment.
Jan 16 2024, 1:12 PM

Jan 15 2024

igor.ostapenko_pm.me added inline comments to D42350: kyua: add jail execution environment.
Jan 15 2024, 8:45 PM
igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

Most of the agreed changes should be covered by this version of the patch.
Open topics left:

  • jail naming
  • required_klds
Jan 15 2024, 8:33 PM

Jan 12 2024

igor.ostapenko_pm.me added inline comments to D42350: kyua: add jail execution environment.
Jan 12 2024, 6:22 PM
igor.ostapenko_pm.me added inline comments to D42350: kyua: add jail execution environment.
Jan 12 2024, 6:17 PM

Jan 9 2024

igor.ostapenko_pm.me added a comment to D42350: kyua: add jail execution environment.

One thing that I really miss in our jail/vnet testing suite is memory leak control. An automated snapshot of 'vmstat -m' and 'vmstat -z', run test in a jail, destroy the jail and compare with new vmstat snapshot. At first approach this may lead to lots of false positive, which aren't real leaks, but with fine filtering of which types/zones we really expect not to change that it going to work. That will bring a lot of value to the testing automation.

Jan 9 2024, 9:33 PM
igor.ostapenko_pm.me added inline comments to D42350: kyua: add jail execution environment.
Jan 9 2024, 9:23 PM
igor.ostapenko_pm.me added a comment to D42350: kyua: add jail execution environment.

I'm sorry for the delay in replying. I'm not very familiar with kyua code and it'll take me some time to fully understand the patch.

Thanks for your time and consideration.

So my vote is to keep the existing behaviour the default, and let networking tests opt in to the new feature.

Thank you and @melifaro. This is exactly what I was looking for -- to get it concluded and confirmed by veterans what is the best way for the project.

Jan 9 2024, 8:29 PM

Dec 14 2023

igor.ostapenko_pm.me added a comment to D42410: tests: run all in jail by default.

Thanks for your attention. Agree, the details matter. It's expected to receive more opinions and real use case claims when the kyua jail support patch gets detailed consideration and discussion. And the change of existing test suite configuration (this patch) may go another direction after that.

Dec 14 2023, 4:34 PM

Dec 12 2023

igor.ostapenko_pm.me updated the diff for D43003: netlink: fix snl_writer and linear_buffer re-allocation logic.

Yes, we have to break the Demeter here for the sake of the bug fix. Some refactoring could take place here, but I guess it’s a separate project.

Dec 12 2023, 5:53 PM
igor.ostapenko_pm.me added a comment to D43003: netlink: fix snl_writer and linear_buffer re-allocation logic.

A concise version of the reasoning:

Dec 12 2023, 1:37 PM
igor.ostapenko_pm.me requested review of D43003: netlink: fix snl_writer and linear_buffer re-allocation logic.
Dec 12 2023, 1:11 PM

Nov 28 2023

igor.ostapenko_pm.me updated the diff for D42747: pf: fix mem leaks upon vnet destroy.
  • The assertions have been added.
  • This update also proposes to apply the same assertion for the main two anchors (existing code).
Nov 28 2023, 2:10 PM

Nov 24 2023

igor.ostapenko_pm.me requested review of D42747: pf: fix mem leaks upon vnet destroy.
Nov 24 2023, 1:02 PM

Nov 20 2023

igor.ostapenko_pm.me abandoned D42675: jail(8): make '-cm' run 'command=' in modify case as well.

Fair enough. Thank you. It was an expected outcome, it confirms my doubts. And I personally do not have production needs or something else to continue work on this and discuss possible alternatives or workarounds like exec.foo.

Nov 20 2023, 9:30 PM

Nov 19 2023

igor.ostapenko_pm.me requested review of D42675: jail(8): make '-cm' run 'command=' in modify case as well.
Nov 19 2023, 1:16 PM

Nov 16 2023

igor.ostapenko_pm.me updated the diff for D42609: pf: fix dummynet + ipdivert use case.

Sure, it makes sense. Please, consider the second version of the patch.

Nov 16 2023, 11:23 AM

Nov 15 2023

igor.ostapenko_pm.me requested review of D42609: pf: fix dummynet + ipdivert use case.
Nov 15 2023, 12:56 AM

Oct 31 2023

igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

This update provides no functional change:

  • It aligns with existing Kyua architecture by moving some parts out from utils::process::jail to engine::execenv::jail. The philosophy of utils::* is to have no relation to the outside entities like test program or test case name.
Oct 31 2023, 2:15 PM
igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

This update only renames the temporary script used from cd_exec.sh to kyua_cd_exec.sh.

Oct 31 2023, 12:17 AM
igor.ostapenko_pm.me requested review of D42410: tests: run all in jail by default.
Oct 31 2023, 12:10 AM

Oct 27 2023

igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

I've done the next step and now reached the level of the whole FreeBSD test suite. And my testings yielded the 3rd version of the kyua patch:

  • it polishes test skip logic due to introduction of execenv cleanup phase
  • and makes is_exclusive metadata be omitted if execenv="jail", which sounds practical comparing to if it would not do so
Oct 27 2023, 9:02 PM

Oct 25 2023

igor.ostapenko_pm.me updated the diff for D42350: kyua: add jail execution environment.

My thoughts regarding the FreeBSD test suite itself. For now I see two options. I will use /usr/src/tests/sys/netpfil/ipfw as a real example I tested the options against, assuming it has divert tests which are ready to be run in a jail and existing fwd test which is not ready to be run in a jail and in parallel with other tests, and we should keep it as is for now.

Oct 25 2023, 2:35 PM

Oct 24 2023

igor.ostapenko_pm.me updated the diff for D42314: ipfw: add divert(4) tests.

Yes, good point. Actually, the comment is not accurate, the issue is not only with jail name clashing, at least the routing table is in play as well.

Oct 24 2023, 12:49 PM
igor.ostapenko_pm.me requested review of D42350: kyua: add jail execution environment.
Oct 24 2023, 12:48 PM

Oct 20 2023

igor.ostapenko_pm.me requested review of D42314: ipfw: add divert(4) tests.
Oct 20 2023, 12:32 PM

Oct 18 2023

igor.ostapenko_pm.me updated the diff for D42142: Fix pf divert-to loop.

Short summary of the changes:

  • resolved conflict between ipfw and pf if both are used and pf wants to do divert(4)
  • pf tests are split onto two sets: with ipfw enabled and disabled
Oct 18 2023, 12:40 PM

Oct 13 2023

igor.ostapenko_pm.me added a comment to D42142: Fix pf divert-to loop.
In D42142#962263, @kp wrote:

That was on amd64, yes. I don't usually see platform-specific issues in pf though.
The version was this patch on top of:

commit 257405d707d77bc55b38e7c2bb83b8a9247a86ae (HEAD -> commit)
Author: Emmanuel Vadot <manu@FreeBSD.org>
Date:   Thu Oct 12 09:32:32 2023 +0200 
    xilinx: reset: Remove debug printfs
Oct 13 2023, 5:27 PM

Oct 12 2023

igor.ostapenko_pm.me added a comment to D42142: Fix pf divert-to loop.
In D42142#962202, @kp wrote:

===> Execution context
...

Oct 12 2023, 5:50 PM
igor.ostapenko_pm.me added a comment to D42142: Fix pf divert-to loop.
In D42142#962199, @kp wrote:

Two of the new tests seem to fail on my test VM:

divert-to:in_div -> passed [16.923s]
divert-to:in_div_in -> passed [7.643s]
divert-to:in_div_in_fwd_out_div_out -> failed: Test case body returned a non-ok exit code, but this is not allowed [10.114s]
divert-to:out_div -> passed [15.990s]
divert-to:out_div_out -> failed: atf-check failed; see the output of the test for details [17.350s]

Oct 12 2023, 4:05 PM
igor.ostapenko_pm.me updated the diff for D42142: Fix pf divert-to loop.

Added the first draft of the respective tests over the agreed fix.

Oct 12 2023, 3:40 AM

Oct 10 2023

igor.ostapenko_pm.me added a comment to D42142: Fix pf divert-to loop.
In D42142#961485, @kp wrote:

I think the rulenum started out in ipfw, where it means 'continue evaluating rules from this rule number'. Hence the increment, which caused it to skip the divert-to rule.

Yes, ipfw is more flexible and allows to re-enter at the next rule number, e.g. this is how ipfw nat was done years ago, before the kernel nat. Prehistoric times...

Oct 10 2023, 2:27 PM

Oct 9 2023

igor.ostapenko_pm.me requested review of D42142: Fix pf divert-to loop.
Oct 9 2023, 10:28 PM

May 25 2023

igor.ostapenko_pm.me added a comment to D40261: ci: Add basic pull request checker.

@imp , considering your experience that GitHub fork's main can be left out-of-date (it's obvious project specifics, GitHub is not the origin for committers), if you see that comparing to project mainstream main branch would give better results in more cases, then we could do it. This commit can be used as an example: https://github.com/ihoro/freebsd-src/commit/0d273e225a3ea6e66d4f80e9e1f76c9ddca1454c.

May 25 2023, 5:32 PM
igor.ostapenko_pm.me added a comment to D40261: ci: Add basic pull request checker.

@imp , I've created a PR to trigger the test. It's https://github.com/freebsd/freebsd-src/pull/751. The test passed. It can be simply closed without merge.

May 25 2023, 3:42 PM
igor.ostapenko_pm.me attached a referenced file: F61768002: freebsd-ci-github-action-pr-quick-code-checker.drawio.svg.
May 25 2023, 3:35 PM
igor.ostapenko_pm.me added a comment to D40261: ci: Add basic pull request checker.

@imp , regarding your question whether it's possible not to hard-code main. Well, with every iteration my thoughts go deeper and complicate the things :) Nevertheless, I've dumped all my current research results and thoughts about this. Please, find it within the SVG attached (this is draw.io). Excuse me for such, probably, unusual format. I decided to leave the long read as is with the sketches, maybe it will be found helpful to explain the details for others and bring additional ideas.

May 25 2023, 3:30 PM

Mar 2 2023

igor.ostapenko_pm.me added a comment to D38741: FIRECRACKER: code comments: typo (compatiblity).

If I can be of any assistance, I could do the following. I'm trying to guess here that probably it will ease the process for you.

Mar 2 2023, 7:25 PM