Page MenuHomeFreeBSD

inquire_JohnEricson.me (John Ericson)
User

Projects

User does not belong to any projects.

User Details

User Since
Aug 25 2021, 2:15 PM (259 w, 3 d)

Recent Activity

Thu, Aug 13

inquire_JohnEricson.me accepted D58792: unix: only treat an empty sun_path as a peer descriptor for connectat(2).
Thu, Aug 13, 12:57 PM

Wed, Aug 12

inquire_JohnEricson.me added inline comments to D58792: unix: only treat an empty sun_path as a peer descriptor for connectat(2).
Wed, Aug 12, 1:10 PM
inquire_JohnEricson.me added a comment to D58792: unix: only treat an empty sun_path as a peer descriptor for connectat(2).

Oh I didn't mean a real-world test with actual xorg, I meant a small test of connect/connect itself ensuring we get the correct error code.

Wed, Aug 12, 5:08 AM
inquire_JohnEricson.me accepted D58792: unix: only treat an empty sun_path as a peer descriptor for connectat(2).

Sorry about the breakage! I have no authority here, but would you mind writing a test for this? See where the other connectat test are.

Wed, Aug 12, 4:19 AM

Mon, Aug 10

inquire_JohnEricson.me added a reviewer for D58772: unix: enqueue datagrams to a named peer without a temporary connection: markj.
Mon, Aug 10, 9:17 PM
inquire_JohnEricson.me requested review of D58772: unix: enqueue datagrams to a named peer without a temporary connection.
Mon, Aug 10, 9:16 PM
inquire_JohnEricson.me updated the diff for D58768: unix: rename unp_connectat_peer() to unp_resolve_peer().

Correct the agent version

Mon, Aug 10, 8:46 PM
inquire_JohnEricson.me requested review of D58770: unix: set and clear UNP_CONNECTING in the same function.
Mon, Aug 10, 8:45 PM
inquire_JohnEricson.me requested review of D58769: unix: let unp_connect_peer() own the listener address buffer.
Mon, Aug 10, 8:45 PM
inquire_JohnEricson.me requested review of D58768: unix: rename unp_connectat_peer() to unp_resolve_peer().
Mon, Aug 10, 8:44 PM
inquire_JohnEricson.me added reviewers for D58683: unix: allow listening on an unbound socket, and binding after listen: markj, glebius.
Mon, Aug 10, 5:15 PM
inquire_JohnEricson.me removed reviewers for D58683: unix: allow listening on an unbound socket, and binding after listen: markj, glebius.

Thanks so much, @markj! Recally happy and honored to see the whole patch series approved; my first major contribution to FreeBSD.

Mon, Aug 10, 5:13 PM

Sun, Aug 9

inquire_JohnEricson.me updated the diff for D58694: procctl(2) addressed by process descriptor (P_PROCDESC).

Address @kib's line comments. Also take a stab at blacklisting most
individual commands, and what future work on that would look like.

Sun, Aug 9, 5:19 PM
inquire_JohnEricson.me added a comment to D58694: procctl(2) addressed by process descriptor (P_PROCDESC).

I have a global question about this change. Do we really want or need to enable all procctl(2) ops in capability mode?

Sun, Aug 9, 4:12 PM

Sat, Aug 8

inquire_JohnEricson.me updated the diff for D58694: procctl(2) addressed by process descriptor (P_PROCDESC).

Edit the patch as @kib requested

Sat, Aug 8, 8:02 PM
inquire_JohnEricson.me added inline comments to D58694: procctl(2) addressed by process descriptor (P_PROCDESC).
Sat, Aug 8, 6:57 PM

Fri, Aug 7

inquire_JohnEricson.me requested review of D58707: kern: factor process-configuration helpers to take an explicit proc.
Fri, Aug 7, 8:43 PM
inquire_JohnEricson.me added a comment to D58688: Add `pdrfork(RFEMBRYO)`, `pdsetfd` and `pdexec` syscalls.

Also, there is the very pressing question of whether "embryo" or "zygote" is more apt :).

Fri, Aug 7, 4:01 PM
inquire_JohnEricson.me updated the diff for D58689: tests: exercise the `pdnew` family of syscalls.

Update tests in light of big reworking of D58688

Fri, Aug 7, 10:02 AM
inquire_JohnEricson.me retitled D58688: Add `pdrfork(RFEMBRYO)`, `pdsetfd` and `pdexec` syscalls from Add `pdnew`, `pdsetfd`, `pdstart` syscalls to Add `pdrfork(RFEMBRYO)`, `pdsetfd` and `pdexec` syscalls.
Fri, Aug 7, 10:01 AM
inquire_JohnEricson.me updated the diff for D58688: Add `pdrfork(RFEMBRYO)`, `pdsetfd` and `pdexec` syscalls.

Update to be much closer to what @kib requested.

Fri, Aug 7, 10:00 AM

Thu, Aug 6

inquire_JohnEricson.me abandoned D58684: kern: lift the privilege check out of `vmspace_rwmem()`.

See the comment I left on D58685, I hope to come back to that someday, but not yet. That makes this not needed either.

Thu, Aug 6, 6:05 PM
inquire_JohnEricson.me abandoned D58685: kern: factor `do_execve()` into small helper functions.

I would love to do this and D58684 someday, but I am adopting a "weird fork but normal exec" in-between model for now, so we can get this fast pd-based spawning in without a major VM overhaul.

Thu, Aug 6, 6:02 PM
inquire_JohnEricson.me added a comment to D58688: Add `pdrfork(RFEMBRYO)`, `pdsetfd` and `pdexec` syscalls.

@kib Interesting. So my first reaction was being a bit sad, because I personally very much want to "push back on" the fork/exec model, but upon further reflection I think this is not so incompatible after all. Also, you are absolutely right that we need a way to skip the VM refactors for now, as otherwise this stuff is just impossible to review; there just isn't anyway around that.

Thu, Aug 6, 4:46 PM
inquire_JohnEricson.me updated the diff for D58694: procctl(2) addressed by process descriptor (P_PROCDESC).

Fixing some things based on changes to D58586

Thu, Aug 6, 2:32 PM
inquire_JohnEricson.me accepted D58586: Make ptrace(2) operating on process descriptors.
In D58586#1346656, @kib wrote:

Well, procctl(2) might be the target but might be in some future.
More interesting and with the immediate applications is the sysctl kern.proc. MIB tree.

Thu, Aug 6, 2:15 PM
inquire_JohnEricson.me updated the summary of D58694: procctl(2) addressed by process descriptor (P_PROCDESC).
Thu, Aug 6, 2:03 PM
inquire_JohnEricson.me requested review of D58694: procctl(2) addressed by process descriptor (P_PROCDESC).
Thu, Aug 6, 1:50 PM
inquire_JohnEricson.me requested changes to D58586: Make ptrace(2) operating on process descriptors.

Oh I suppose rights.4 needs to be updated, too?

Thu, Aug 6, 1:27 PM
inquire_JohnEricson.me added a comment to D58586: Make ptrace(2) operating on process descriptors.

BTW I had to do this to get it to build on the latest main

Thu, Aug 6, 1:20 PM
inquire_JohnEricson.me accepted D58586: Make ptrace(2) operating on process descriptors.

From a quick glance, this looks good to me. I am going to do something similar for procctl inspired by it.

Thu, Aug 6, 1:08 PM
inquire_JohnEricson.me updated the diff for D58688: Add `pdrfork(RFEMBRYO)`, `pdsetfd` and `pdexec` syscalls.

A few fixes

Thu, Aug 6, 6:13 AM
inquire_JohnEricson.me requested review of D58689: tests: exercise the `pdnew` family of syscalls.
Thu, Aug 6, 4:08 AM
inquire_JohnEricson.me requested review of D58688: Add `pdrfork(RFEMBRYO)`, `pdsetfd` and `pdexec` syscalls.
Thu, Aug 6, 4:07 AM
inquire_JohnEricson.me requested review of D58687: kern: factor `fork1()` allocation into `fork_alloc_proc`.
Thu, Aug 6, 4:06 AM
inquire_JohnEricson.me requested review of D58686: kern: factor `do_fork()` process registration into helpers.
Thu, Aug 6, 4:06 AM
inquire_JohnEricson.me requested review of D58685: kern: factor `do_execve()` into small helper functions.
Thu, Aug 6, 4:06 AM
inquire_JohnEricson.me requested review of D58684: kern: lift the privilege check out of `vmspace_rwmem()`.
Thu, Aug 6, 4:05 AM
inquire_JohnEricson.me added a comment to D58683: unix: allow listening on an unbound socket, and binding after listen.

Thank you! Unless I am missing something, I cannot push to land accepted changes anyways, so yes I'll be waiting for @markj regardless :).

Thu, Aug 6, 1:08 AM
inquire_JohnEricson.me updated the diff for D58683: unix: allow listening on an unbound socket, and binding after listen.

Add new test and warning about discouraged functionality as requested

Thu, Aug 6, 12:51 AM
inquire_JohnEricson.me added inline comments to D58683: unix: allow listening on an unbound socket, and binding after listen.
Thu, Aug 6, 12:32 AM
inquire_JohnEricson.me updated the diff for D58683: unix: allow listening on an unbound socket, and binding after listen.

Keep tests more additive as @glebius suggested for clearer diff. Also, test another more situations that I thought of.

Thu, Aug 6, 12:10 AM

Wed, Aug 5

inquire_JohnEricson.me added a comment to D58683: unix: allow listening on an unbound socket, and binding after listen.

@glebius Oh haha, that was not Claude's idea but mine! It didn't do it that way originally, but then I explicitly asked it to.

Wed, Aug 5, 11:49 PM
inquire_JohnEricson.me requested review of D58683: unix: allow listening on an unbound socket, and binding after listen.
Wed, Aug 5, 11:36 PM
inquire_JohnEricson.me updated the diff for D58406: tests: exercise unix `connectat(2)` with a socket peer descriptor.

Test all the fdescfs combinations explicitly

Wed, Aug 5, 10:56 PM
inquire_JohnEricson.me added a comment to D58675: unix: Simplify uipc_detach().

Also, do you think we've made enough cleanup/refactor PRs now that it might good to start landing them?

I ought to rebase mine on top of this for testing, I think, but I don't want to make a mess of the ones that you already approved but want to make slight changes too (per the discussion D58460, if I understand correctly).

I have a branch with all of the patches together (plus a couple more for some unrelated bugs I found recently) and am currently fuzzing them with syzkaller. If I don't see any problems in the next couple of days I'll go ahead and land them.

Rebasing is fine, please just make sure you update all of the patches in the series when you do so, as I'll fetch patches from phabricator in order to commit them. git arc tries to make review updates tolerably easy.

(I don't think it's actually necessary to rebase though? AFAICS your patches don't touch this function.)

Wed, Aug 5, 8:13 PM
inquire_JohnEricson.me added a comment to D58675: unix: Simplify uipc_detach().

Also, do you think we've made enough cleanup/refactor PRs now that it might good to start landing them?

Wed, Aug 5, 4:17 PM
inquire_JohnEricson.me accepted D58675: unix: Simplify uipc_detach().

Very nice! Always love a mostly-red patch.

Wed, Aug 5, 4:04 PM
inquire_JohnEricson.me added inline comments to D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.
Wed, Aug 5, 3:57 AM

Tue, Aug 4

inquire_JohnEricson.me added inline comments to D58460: unix: pin the pathname peer by reference across the connect.
Tue, Aug 4, 10:37 PM
inquire_JohnEricson.me added a comment to D58406: tests: exercise unix `connectat(2)` with a socket peer descriptor.

These tests don't exercise fdescfs lookups, nor handling of O_PATH sockets. Were you planning to add something for that?

Tue, Aug 4, 10:18 PM
inquire_JohnEricson.me added inline comments to D58460: unix: pin the pathname peer by reference across the connect.
Tue, Aug 4, 10:10 PM
inquire_JohnEricson.me added a comment to D58459: unix: factor `unp_sun_path()` out of bind and connect.

For what it's worth I find it much easier to upload patches from the command-line, e.g. with git-arc: https://wiki.freebsd.org/Phabricator#Create_a_Revision_via_command_line_.28using_git-arc.29

Tue, Aug 4, 10:06 PM

Fri, Jul 31

inquire_JohnEricson.me added a comment to D58459: unix: factor `unp_sun_path()` out of bind and connect.

OK I update the diff via the web form, which I noticed messes up the diff-to-diff comparison, since the base commit is gone, but hopefully that does not matter when landing this.

Fri, Jul 31, 11:41 PM
inquire_JohnEricson.me updated the diff for D58459: unix: factor `unp_sun_path()` out of bind and connect.

Fix the return statement to match the style guide

Fri, Jul 31, 11:36 PM

Wed, Jul 29

inquire_JohnEricson.me added a comment to D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.

I think the proposal as a whole is reasonable. This new behaviour for connectat() feels very similar to AT_EMPTY_PATH, so there's some precedent for it.

Wed, Jul 29, 4:27 AM

Tue, Jul 28

inquire_JohnEricson.me added a comment to D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.

@markj. are you still on the fence for the motivation after what I wrote? If so, might it make sense to first look at some of the non-functional changes before this one? I am hoping that they would stand on their own, especially D58460.

Tue, Jul 28, 5:06 PM

Mon, Jul 27

inquire_JohnEricson.me updated subscribers of D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.

Ah OK, I understand now.

Mon, Jul 27, 4:39 PM
inquire_JohnEricson.me added a comment to D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.

Sorry, I still do not quite get the point of this. Why can't the server which hands out a listening socket to other processes to connect to, instead hand out pre-connected sockets?

Mon, Jul 27, 2:23 PM

Sun, Jul 26

inquire_JohnEricson.me added inline comments to D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.
Sun, Jul 26, 11:16 PM
inquire_JohnEricson.me updated the diff for D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.

Oh I did the wrong diff for this last update?

Sun, Jul 26, 11:12 PM
inquire_JohnEricson.me updated the summary of D58406: tests: exercise unix `connectat(2)` with a socket peer descriptor.
Sun, Jul 26, 11:11 PM
inquire_JohnEricson.me updated the summary of D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.
Sun, Jul 26, 11:10 PM

Sat, Jul 25

inquire_JohnEricson.me updated the diff for D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.

Expanded test suite to cover the new larger feature surface area

Sat, Jul 25, 8:30 PM
inquire_JohnEricson.me updated the diff for D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.

Major overhauls, now that this is part of a much larger patch series

Sat, Jul 25, 8:27 PM
inquire_JohnEricson.me requested review of D58462: unix: factor `unp_connectat_peer()` out of `unp_connectat()`.
Sat, Jul 25, 8:25 PM
inquire_JohnEricson.me requested review of D58461: unix: factor `unp_vnode_peer()` out of `unp_connectat()`.
Sat, Jul 25, 8:24 PM
inquire_JohnEricson.me requested review of D58460: unix: pin the pathname peer by reference across the connect.
Sat, Jul 25, 8:22 PM
inquire_JohnEricson.me requested review of D58459: unix: factor `unp_sun_path()` out of bind and connect.
Sat, Jul 25, 8:21 PM

Fri, Jul 24

inquire_JohnEricson.me added a comment to D58404: unix: split `unp_connectat()` in two.

Sure, that sounds good to me. I just wanted to double-check the process. I am happy to continue discussing on D58405, and don't see a need to create a broader mailing list thread if we end up just on Phabricator with you two happy to approve it.

Fri, Jul 24, 7:58 PM
inquire_JohnEricson.me added a comment to D58404: unix: split `unp_connectat()` in two.

OK thanks for approving! To be clear, I don't think I have permissions to land it (not really sure how arcanist intended contributors to do this part). Will one of you land it either now, or once we've approved the whole stack?

Fri, Jul 24, 5:37 PM
inquire_JohnEricson.me added inline comments to D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.
Fri, Jul 24, 6:36 AM

Thu, Jul 23

inquire_JohnEricson.me updated the diff for D58404: unix: split `unp_connectat()` in two.

Rework error handling to avoid "bad2" as requested

Thu, Jul 23, 9:10 PM
inquire_JohnEricson.me added a comment to D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.

This would also need updates to connectat.2 and unix.4.

Thu, Jul 23, 9:09 PM
inquire_JohnEricson.me added reviewers for D58404: unix: split `unp_connectat()` in two: capsicum, kib, markj.
Thu, Jul 23, 4:47 AM
inquire_JohnEricson.me added reviewers for D58405: unix: allow `connectat(2)` to name the peer socket by descriptor: capsicum, kib, markj.
Thu, Jul 23, 4:47 AM
inquire_JohnEricson.me added reviewers for D58406: tests: exercise unix `connectat(2)` with a socket peer descriptor: markj, kib.
Thu, Jul 23, 4:46 AM
inquire_JohnEricson.me added a reviewer for D58406: tests: exercise unix `connectat(2)` with a socket peer descriptor: capsicum.
Thu, Jul 23, 4:45 AM

Wed, Jul 22

inquire_JohnEricson.me requested review of D58406: tests: exercise unix `connectat(2)` with a socket peer descriptor.
Wed, Jul 22, 9:37 PM
inquire_JohnEricson.me requested review of D58405: unix: allow `connectat(2)` to name the peer socket by descriptor.
Wed, Jul 22, 9:37 PM
inquire_JohnEricson.me requested review of D58404: unix: split `unp_connectat()` in two.
Wed, Jul 22, 9:36 PM