Page MenuHomeFreeBSD

kevans (Kyle Evans)
User

Projects (13)

User Details

User Since
Oct 2 2015, 1:17 PM (575 w, 2 d)

Recent Activity

Thu, Oct 8

kevans committed rG78887369c47f: loader.efi: devinit() just after parsing args instead (authored by kevans).
loader.efi: devinit() just after parsing args instead
Thu, Oct 8, 2:17 AM
kevans closed D60449: loader.efi: devinit() just after parsing args instead.
Thu, Oct 8, 2:17 AM

Wed, Oct 7

kevans requested review of D60449: loader.efi: devinit() just after parsing args instead.
Wed, Oct 7, 11:31 PM
kevans added a comment to D60432: bhyve: xhci: serialise the device callbacks without the controller lock.

Yeah, sorry, I was actually thinking of a WIP one that isn't yet finished: https://paste.fbsd.dev/7kvf/ -- the prototype for this one was a pass with claude for the fun of it, and I haven't had time yet to sanity check what it did or what I asked it to do. I was going to switch USBSTS to stdatomic rather than putting it under any lock in particular, but I'm not sure that's actually the sensible thing to do.

Wed, Oct 7, 8:51 PM
kevans added inline comments to D60421: kern: add primitive checked versions of copyin/copyout.
Wed, Oct 7, 4:06 PM
kevans added a comment to D60432: bhyve: xhci: serialise the device callbacks without the controller lock.

I note that I have D59779 that was about to land; it might make sense to rebase this onto that one and use the finer-grained event mutex? I think both the original author of that one and I overlooked this one.

Wed, Oct 7, 12:06 PM
kevans updated subscribers of D60413: bhyve: xhci: do not interrupt while the event handler is busy.

Cc'ing @jhb specifically, as he may be better equipped to answer re: appetite for features in support of legacy BIOS.

Wed, Oct 7, 4:31 AM
kevans added a comment to D60413: bhyve: xhci: do not interrupt while the event handler is busy.

My takeaway: this is mainly a correctness fix, with a modest efficiency win on top.

[...]

Wed, Oct 7, 4:02 AM
kevans added a comment to D60413: bhyve: xhci: do not interrupt while the event handler is busy.

What's your takeaway on the results from your testing? I don't have a well-informed perspective here, but that feels like a modest but respectable enough win to make it worth doing (particularly when we finish getting USB device passthrough and can then support a wider variety of devices and usage patterns).

Wed, Oct 7, 2:12 AM

Tue, Oct 6

kevans requested review of D60421: kern: add primitive checked versions of copyin/copyout.
Tue, Oct 6, 8:41 PM
kevans added a comment to D60274: bhyve: xhci: deassert INTx when no enabled interrupt is pending.

Thanks for the review. Agreed on all three points. I'm new to the process here, so two questions on how you'd like them delivered:

  1. EHB handling: I'd follow the spec (and QEMU's model): when EHB is already set, only post the event to the ring and don't touch IP/EINT or raise an interrupt; when a write to ERDP clears EHB and the ring is not empty, set IP/EHB again and raise. IMOD pacing (and the IMODI reset value) would stay for a separate change. Would you prefer the EHB part as a separate parent revision with this INTx change rebased on top, or folded into this revision as one commit?
  1. The IMAN_IP/IMAN_IE rename touches sys/dev/usb/controller/xhcireg.h, which xhci(4) uses too. I'm happy to do it as a follow-up revision once this one lands, if that works for you.

The pci_msi_enabled() check in pci_xhci_deassert_interrupt() will be in the next update.

Tue, Oct 6, 4:54 PM
kevans added a comment to D60274: bhyve: xhci: deassert INTx when no enabled interrupt is pending.

This is a pre-existing problem, but it might be nice to rername these at some point to IMAN_IP and IMAN_IE to line up witih the spec.

Tue, Oct 6, 4:04 PM
kevans added a member for bhyve: kevans.
Tue, Oct 6, 2:28 PM
kevans added a reviewer for D60171: audit_warn: Avoid pointless fork and path search: csjp.
Tue, Oct 6, 3:52 AM
kevans added a reviewer for D60172: auditd: Support logging directly to syslog: csjp.
Tue, Oct 6, 3:52 AM

Fri, Oct 2

kevans accepted D60253: [tests] lib/libc/gen:assert_test: undefine `NDEBUG`.

Thanks!

Fri, Oct 2, 8:30 PM

Tue, Sep 29

kevans added a reviewer for D58485: fetch.1: Add example for stdout: des.

Dag-Erling might also have opinions here

Tue, Sep 29, 10:47 PM
kevans accepted D60153: __FreeBSD_version: Bump for mkimg -f vmdks.

Yes, this is perfectly sensible.

Tue, Sep 29, 9:40 PM
kevans added a reviewer for D59748: Jail init process and virtual reboot: Jails.
Tue, Sep 29, 6:05 PM
kevans updated the diff for D60036: release: switch the WITH_* knobs to just gating `release` dependencies.

Switch gears and just control the release and install dependencies. Convert .WAIT into .ORDER and dcument the pain point that requires it, but call it out of scope for the moment as long as we don't break re@ builds.

Tue, Sep 29, 4:44 AM
kevans added a comment to D60036: release: switch the WITH_* knobs to just gating `release` dependencies.

Can you also update release(7) with the new knobs?

Tue, Sep 29, 4:00 AM

Sat, Sep 26

kevans added a comment to D60036: release: switch the WITH_* knobs to just gating `release` dependencies.

When you get to cloudware, my sense is that it's more likely someone will run e.g. make ec2ami-desktop-ufs rather than make cloudware-release.

Perhaps a better solution would be to have the relevant Makefile logic included unconditionally and have the WITH_* flags only control which targets are dependencies of release ?

Sat, Sep 26, 2:58 PM
kevans requested review of D60036: release: switch the WITH_* knobs to just gating `release` dependencies.
Sat, Sep 26, 3:57 AM

Fri, Sep 25

kevans added inline comments to D60003: Combine duplicated code in prison_deref and prison_deref_kill.
Fri, Sep 25, 5:22 PM
kevans accepted D59994: xdr: Fix xdr_string.
Fri, Sep 25, 5:12 PM
kevans added a comment to D60003: Combine duplicated code in prison_deref and prison_deref_kill.

It also means that I can go back to setting the state to invalid after the mac_prison_destroy call, and restore the comment that says "ideally we call this prior to any final state invalidation to be safe." But is that the right thing to do? I'm uncomfortable with the idea of a prison that has pr_ref == 0 and yet has pr_state == something valid. I think it still might be best to call it invalid, so if the mac handlers do anything that shouldn't be done to an invalid prison, they stand a greater chance of (properly) panicking.

Fri, Sep 25, 3:35 AM

Tue, Sep 22

kevans added a comment to D59903: libecc: add LoongArch support.

Can you submit this one upstream to https://github.com/libecc/libecc, please?

Tue, Sep 22, 3:19 PM
kevans accepted D59322: bhyve: Reinitialise swtpm's TPM at startup.
Tue, Sep 22, 12:49 PM
kevans updated the diff for D59785: bhyve: usb: properly handle port init/deinit/power-on.

Flip usbsts write and pci_xhci_assert_interrupt() call

Tue, Sep 22, 3:54 AM
kevans updated the diff for D59785: bhyve: usb: properly handle port init/deinit/power-on.

Fix portsc reset in pci_xhci_deinit_port

Tue, Sep 22, 3:51 AM
kevans added a comment to D59322: bhyve: Reinitialise swtpm's TPM at startup.

This doesn't seem like it particularly violates any bhyve principles, so I may proceed with commtting this within the next week or so with no objection otherwise from bhyve folks

Tue, Sep 22, 2:57 AM

Mon, Sep 21

kevans committed rGfa4f76eecbf2: stand: remove unused variables (authored by vexeduxr).
stand: remove unused variables
Mon, Sep 21, 1:22 PM
kevans committed rGa43fff2a0131: stand: remove unused variables (authored by vexeduxr).
stand: remove unused variables
Mon, Sep 21, 1:22 PM

Sat, Sep 19

kevans added inline comments to D59785: bhyve: usb: properly handle port init/deinit/power-on.
Sat, Sep 19, 3:01 AM

Fri, Sep 18

kevans updated the diff for D59779: bhyve: usb: add a finer-grained mutex for the event thread.

Extend locking to ERSTBA handling and pci_xhci_reset()

Fri, Sep 18, 8:25 PM
kevans updated subscribers of D59786: tpm: crb: Improve ACPI control and buffer addresses.

CC @bnovkov, IIRC he has an AMD machine with ControlArea outside of the device range that should be functional after this.

Fri, Sep 18, 1:29 PM
kevans updated the summary of D59785: bhyve: usb: properly handle port init/deinit/power-on.
Fri, Sep 18, 2:33 AM
kevans requested review of D59785: bhyve: usb: properly handle port init/deinit/power-on.
Fri, Sep 18, 2:28 AM
kevans added a comment to D52166: bhyve: implement single USB device passthrough support.

The first set of patches breaking this up starts at D59779

Fri, Sep 18, 2:02 AM
kevans requested review of D59784: bhyve: usb: handle USB 1.1 devices properly.
Fri, Sep 18, 2:00 AM
kevans requested review of D59782: bhyve: usb: plug some leaks in bus init failure path.
Fri, Sep 18, 1:59 AM
kevans requested review of D59783: bhyve: usb: marginally improve debugging output.
Fri, Sep 18, 1:58 AM
kevans requested review of D59781: bhyve: usb: devices should actually probe against the slot.
Fri, Sep 18, 1:58 AM
kevans requested review of D59780: bhyve: usb: fix XHCI_STREAMS_MAX and stream handling.
Fri, Sep 18, 1:58 AM
kevans requested review of D59779: bhyve: usb: add a finer-grained mutex for the event thread.
Fri, Sep 18, 1:58 AM

Thu, Sep 17

kevans updated the diff for D52166: bhyve: implement single USB device passthrough support.

Manpage revision, incorporate some of polyduekes' feedback

Thu, Sep 17, 8:14 PM
kevans accepted D58822: db/hash: Harden hash(3) database code.
Thu, Sep 17, 4:29 PM
kevans updated the diff for D52166: bhyve: implement single USB device passthrough support.

Rebase, small revisions to the manpage, and a variety of cosmetic fixes

Thu, Sep 17, 4:10 AM

Wed, Sep 16

kevans commandeered D52166: bhyve: implement single USB device passthrough support.

Taking this to address some feedback

Wed, Sep 16, 8:05 PM
kevans updated the diff for D51735: bhyve: introduce cancel interface for usb device.

Fixed one indentation issue

Wed, Sep 16, 5:47 PM
kevans commandeered D51735: bhyve: introduce cancel interface for usb device.
Wed, Sep 16, 5:44 PM
kevans updated the diff for D51735: bhyve: introduce cancel interface for usb device.

Restore handling of XHCI_TRB_TYPE_RESET_EP to be sure that we don't retain data
that should be dropped according to the spec.

Wed, Sep 16, 5:44 PM
kevans updated subscribers of D59657: tpm: Validate firmware interrupt routes and fall back cleanly.

It probably makes sense for this to ditch d_close entirely in favor of devfs_set_cdevpriv(9). This is how we typically get reliable semantics. @kib has a writeup of why d_close is shit for this somewhere, but I always have to go trolling through mail history to find it

Wed, Sep 16, 12:14 PM
kevans added a comment to D59718: bectl: add support for custom subcommands.

A shlib interface where we'll dlopen and discover commands that way could also be neat, to facilitate things that want to operate in C using libzfs/libbe. The interface would take the subcommand args, libbe handle and roll with it.

Wed, Sep 16, 3:26 AM
kevans requested review of D59718: bectl: add support for custom subcommands.
Wed, Sep 16, 3:24 AM
kevans requested review of D59717: libbe: blank out bootfs if it isn't set.
Wed, Sep 16, 3:24 AM

Tue, Sep 15

kevans added a comment to D59388: bhyveload: note that newer FreeBSD is explicitly not supported.

Oh? Presumably the current userboot protocol would be maintained, or do you have another idea in mind there?

Unprivileged bhyve doesn't work with bhyveload today, as that needs the VM to be created and executed by a single process. I'd still use userboot, I just want to have all of the functionality in one executable. I also want to be able to boot a kernel directly without a bootloader. I think we'll want to support different "flavours" of vCPU initialization in order to support these different usecases.

Tue, Sep 15, 5:54 PM
kevans added a comment to D59388: bhyveload: note that newer FreeBSD is explicitly not supported.

Just to make sure I understand: we are saying that one can't expect to load and boot a new FreeBSD kernel with an old bhyveload+userboot.so? Or is it old bhyveload and newer userboot.so? I see that one reason for this is that userboot.so might not recognize some ZFS features used in a newer VM image. Are there other reasons?

Tue, Sep 15, 3:35 PM
kevans added a comment to D59388: bhyveload: note that newer FreeBSD is explicitly not supported.

@kevans Anything holding your off applying it?

Tue, Sep 15, 2:20 PM
kevans committed rG4505445ccdb9: bhyve: tpm: allow the last dword of the CRB command buffer (authored by quentin.thebault_defenso.fr).
bhyve: tpm: allow the last dword of the CRB command buffer
Tue, Sep 15, 2:05 PM

Sun, Sep 13

kevans added inline comments to D51735: bhyve: introduce cancel interface for usb device.
Sun, Sep 13, 3:51 PM
kevans added inline comments to D59591: geom: Check file flags before handling control request.
Sun, Sep 13, 7:16 AM
kevans added a comment to D59591: geom: Check file flags before handling control request.

I did a cursory pass over verbs in base to see if we /might/ want to expand this to others / pass it through to mp->ctlreq, but it doesn't seem very likely except maybe in getactive?

Sun, Sep 13, 7:15 AM

Sep 12 2026

kevans accepted D59505: website: Revive donations page.
Sep 12 2026, 5:21 AM
kevans accepted D59589: website: Restore "The Power to Serve" on homepage.
Sep 12 2026, 5:20 AM

Sep 11 2026

kevans added a comment to D59592: libgeom: Open the control device read-write.
In D59592#1367544, @des wrote:
In D59592#1367478, @imp wrote:

The only concern I have with the kernel enforcing write is what happens if we boot old binary, new kernel (which is quite typical). Would we have situations where we can't configure the system enough to build/install a new binary.

We could add some logic in g_ctl_ioctl() that sets FWRITE if the caller is the superuser, and then remove it in a year or two? Or make it conditional on COMPAT_FREEBSD15?

Sep 11 2026, 9:26 PM
kevans added a comment to D52166: bhyve: implement single USB device passthrough support.

For posterity, I think we agreed that I would rebase this forward since @aokblast is quite busy these days, and I'm going to see if there are functional pieces I can split this further into. (after Euro)

Sep 11 2026, 6:54 PM

Sep 10 2026

kevans added a comment to D59572: jail: define well-known parameter names in sys/jail.h.

Right; we can fix those but after this commit. This commit doesn't change their values, it just adds a level of indirection to them.

I was testing the world , that why i pushed the version bump. I reverted the version bump.

Sep 10 2026, 11:49 PM

Sep 9 2026

kevans committed rGb2a270da9fbf: libjail: fix fetching mac.label for multiple jails (authored by kevans).
libjail: fix fetching mac.label for multiple jails
Sep 9 2026, 9:25 PM
kevans closed D57280: libjail: fix fetching mac.label for multiple jails.
Sep 9 2026, 9:25 PM
kevans accepted D59521: hastd: Use fixed-length protocol names.

I note that there's a second copy of all of this in auditdistd, and we probably want to do similar things.

Sep 9 2026, 8:24 PM
kevans committed rG6af3031c9516: tpm: crb: make the Pluton startmethod more resilient (authored by kevans).
tpm: crb: make the Pluton startmethod more resilient
Sep 9 2026, 9:01 AM
kevans closed D59327: tpm: crb: make the Pluton startmethod more resilient.
Sep 9 2026, 9:01 AM

Sep 5 2026

kevans requested review of D59439: bectl: stop pretending that jailparam_delarg can fail.
Sep 5 2026, 3:45 AM

Sep 4 2026

kevans committed rGf656bde0c2ef: xhci: Only reset the data toggle value when the USB stack asks for it (authored by aokblast).
xhci: Only reset the data toggle value when the USB stack asks for it
Sep 4 2026, 6:50 PM
kevans committed rG96dfa566fc16: xhci: Only reset the data toggle value when the USB stack asks for it (authored by aokblast).
xhci: Only reset the data toggle value when the USB stack asks for it
Sep 4 2026, 6:50 PM
kevans committed rGdc052bc25986: stand: set st_dev/st_ino in the loader's ZFS stat for veriexec (authored by Etienne Bonnand <etienne.bonnand@defenso.fr>).
stand: set st_dev/st_ino in the loader's ZFS stat for veriexec
Sep 4 2026, 6:50 PM
kevans committed rG4337e2bd5f89: usb: xhci: allow up to 1s for SET_ADDRESS (authored by kevans).
usb: xhci: allow up to 1s for SET_ADDRESS
Sep 4 2026, 6:50 PM
kevans committed rG7399eb454068: kern: fix oversight in security.bsd.unprivileged_kenv_read (authored by kevans).
kern: fix oversight in security.bsd.unprivileged_kenv_read
Sep 4 2026, 6:50 PM
kevans committed rG1cfebc97445c: prometheus_sysctl_exporter: don't abort on bad labels (authored by kevans).
prometheus_sysctl_exporter: don't abort on bad labels
Sep 4 2026, 6:50 PM
kevans committed rGb8370f520dba: bsdinstall: add a hardening knob for unprivileged kenv access (authored by kevans).
bsdinstall: add a hardening knob for unprivileged kenv access
Sep 4 2026, 6:50 PM
kevans accepted D59345: hastd: Add rudimentary tests.
Sep 4 2026, 6:50 PM
kevans committed rG6b1371fca772: stand: set st_dev/st_ino in the loader's ZFS stat for veriexec (authored by Etienne Bonnand <etienne.bonnand@defenso.fr>).
stand: set st_dev/st_ino in the loader's ZFS stat for veriexec
Sep 4 2026, 6:50 PM
kevans committed rG8db4de3a74fd: usb: xhci: allow up to 1s for SET_ADDRESS (authored by kevans).
usb: xhci: allow up to 1s for SET_ADDRESS
Sep 4 2026, 6:50 PM
kevans committed rG48c56b559248: kern: fix oversight in security.bsd.unprivileged_kenv_read (authored by kevans).
kern: fix oversight in security.bsd.unprivileged_kenv_read
Sep 4 2026, 6:49 PM
kevans committed rG8d227fc5ddf9: prometheus_sysctl_exporter: don't abort on bad labels (authored by kevans).
prometheus_sysctl_exporter: don't abort on bad labels
Sep 4 2026, 6:49 PM
kevans committed rG240bea933ddd: bsdinstall: add a hardening knob for unprivileged kenv access (authored by kevans).
bsdinstall: add a hardening knob for unprivileged kenv access
Sep 4 2026, 6:49 PM
kevans accepted D59411: tty_pts: reduce/correct libatf-c linkage.

No idea why I would have done this, I've done plenty of atf-c... thanks!

Sep 4 2026, 6:27 PM
kevans accepted D59345: hastd: Add rudimentary tests.
Sep 4 2026, 6:11 PM
kevans accepted D59344: hastd: Add a stop control message.

I'm not that familiar with hastd, but this looks straightforward and correct to me.

Sep 4 2026, 6:04 PM
kevans committed rG619d09217720: iuserboot: bump the interface to v6, add an accept_interpreter callback (authored by kevans).
iuserboot: bump the interface to v6, add an accept_interpreter callback
Sep 4 2026, 3:27 PM
kevans closed D58771: userboot: bump the interface to v6, add an accept_interpreter callback.
Sep 4 2026, 3:27 PM
kevans requested review of D59388: bhyveload: note that newer FreeBSD is explicitly not supported.
Sep 4 2026, 1:45 PM
kevans updated the diff for D59327: tpm: crb: make the Pluton startmethod more resilient.

review feedback: go with the first suggestion, and leave pluton_wait_reply() to
always poll for a reply at least once. The timeout == 0 case shouldn't really
happen in practice today, but it's worth defining the semantics now.

Sep 4 2026, 3:35 AM

Sep 3 2026

kevans accepted D59343: hastd: Ensure nvpair padding is initialized.
Sep 3 2026, 4:44 PM
kevans added inline comments to D59327: tpm: crb: make the Pluton startmethod more resilient.
Sep 3 2026, 11:41 AM
kevans requested review of D59327: tpm: crb: make the Pluton startmethod more resilient.
Sep 3 2026, 3:38 AM
kevans accepted D59240: tpm20: Harden the common device lifecycle.
Sep 3 2026, 2:53 AM
kevans accepted D59195: tpm20: Validate suspend and resume commands.
Sep 3 2026, 2:52 AM

Sep 2 2026

kevans added inline comments to D59322: bhyve: Reinitialise swtpm's TPM at startup.
Sep 2 2026, 5:59 PM