Page MenuHomeFreeBSD

kevans (Kyle Evans)
User

Projects (13)

User Details

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

Recent Activity

Fri, Oct 30

kevans requested review of D61052: virtio_pci_modern: enable virtqueues before completing attach.
Fri, Oct 30, 3:30 PM
kevans requested review of D61051: virtio_random: stop on detach, don't poll.
Fri, Oct 30, 3:30 PM
kevans requested review of D61050: virtio_random: avoid using vtrnd_detach in the failure path.
Fri, Oct 30, 3:30 PM

Thu, Oct 29

kevans accepted D60172: auditd: Support logging directly to syslog.
Thu, Oct 29, 6:03 PM
kevans committed rGcdc894780c50: bhyve: tpm: allow the last dword of the CRB command buffer (authored by quentin.thebault_defenso.fr).
Thu, Oct 29, 8:47 AM
kevans committed rG34e8a548786b: loader.efi: devinit() just after parsing args instead.
Thu, Oct 29, 8:47 AM
kevans committed rG844ed4975ace: iuserboot: bump the interface to v6, add an accept_interpreter callback.
Thu, Oct 29, 8:47 AM
kevans committed rG5245187af22b: rc: add a backlight service to save/restore backlight levels.
Thu, Oct 29, 8:45 AM
kevans committed rG775e421dc38f: nvme: Fix default is_storage_device kobj method (authored by guest-ayrton).
Thu, Oct 29, 8:43 AM
kevans closed D60112: nvme: Fix default is_storage_device kobj method.
Thu, Oct 29, 8:42 AM
kevans committed rG4cd4fc06c2bf: wg: fix the LINT-NOIP build.
Thu, Oct 29, 8:42 AM
kevans committed rG82c94818047a: snd_uaudio: recognize hardware sidetone as a monitor.
Thu, Oct 29, 8:42 AM
kevans committed rG30b70876207d: wg: fix the LINT-NOIP build.
Thu, Oct 29, 8:40 AM
kevans committed rGea041ed323ee: loader.efi: devinit() just after parsing args instead.
Thu, Oct 29, 8:40 AM
kevans committed rG84ec2d3b67df: iuserboot: bump the interface to v6, add an accept_interpreter callback.
Thu, Oct 29, 8:40 AM
kevans committed R11:30753d877194: www/py-flask-assets: Update to 2.1.0 (authored by Pattems <patrick@crandol.com>).
Thu, Oct 29, 8:38 AM

Tue, Oct 20

kevans accepted D60901: libfetch: Use C locale for dates.
Tue, Oct 20, 3:05 PM
kevans committed rG8430de47aa7c: wg: fix the LINT-NOIP build.
Tue, Oct 20, 2:35 PM
kevans closed D60896: wg: fix the LINT-NOIP build.
Tue, Oct 20, 2:34 PM
kevans requested review of D60896: wg: fix the LINT-NOIP build.
Tue, Oct 20, 1:25 PM

Mon, Oct 19

kevans added inline comments to D60760: linux: Avoid oversized native getdents64 batches.
Mon, Oct 19, 8:12 PM
kevans added inline comments to D60760: linux: Avoid oversized native getdents64 batches.
Mon, Oct 19, 5:22 PM

Sun, Oct 18

kevans added a reviewer for D60760: linux: Avoid oversized native getdents64 batches: kevans.
Sun, Oct 18, 12:45 AM

Fri, Oct 16

kevans added a comment to D60741: databases/lmdb: allow to install both 0.x and 1.x together.

Isn't the on-disk fomat change the compelling reason? My understanding is that the 1.x bits don't have tooling to convert, so that's an active step that must be taken to do the upgrade for some of these that depend on it.

Fri, Oct 16, 1:27 PM

Tue, Oct 13

kevans accepted D59565: auditdistd: Use fixed-length protocol names.

@des what do you think of the alternate solution in D60489 ? I think it's more robust, because it doesn't require the socket names and receive buffers to be exactly matched in size.

Tue, Oct 13, 3:54 PM
kevans accepted D60573: lib/libifconfig: Fix pointer-sign warnings.
Tue, Oct 13, 1:28 AM
kevans accepted D60574: linuxulator: Accept 0 as signal in rt_sigqueueinfo.
Tue, Oct 13, 1:27 AM

Mon, Oct 12

kevans accepted D60652: u3g: Add ublox LARA-L6 modem.

Thanks!

Mon, Oct 12, 3:59 PM

Thu, Oct 8

kevans committed rG78887369c47f: 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

Oct 2 2026

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

Thanks!

Oct 2 2026, 8:30 PM

Sep 29 2026

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

Dag-Erling might also have opinions here

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

Yes, this is perfectly sensible.

Sep 29 2026, 9:40 PM
kevans added a reviewer for D59748: Jail init process and virtual reboot: Jails.
Sep 29 2026, 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.

Sep 29 2026, 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?

Sep 29 2026, 4:00 AM

Sep 26 2026

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 ?

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

Sep 25 2026

kevans added inline comments to D60003: Combine duplicated code in prison_deref and prison_deref_kill.
Sep 25 2026, 5:22 PM
kevans accepted D59994: xdr: Fix xdr_string.
Sep 25 2026, 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.

Sep 25 2026, 3:35 AM

Sep 22 2026

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

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

Sep 22 2026, 3:19 PM
kevans accepted D59322: bhyve: Reinitialise swtpm's TPM at startup.
Sep 22 2026, 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

Sep 22 2026, 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

Sep 22 2026, 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

Sep 22 2026, 2:57 AM

Sep 21 2026

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

Sep 19 2026

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

Sep 18 2026

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()

Sep 18 2026, 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.

Sep 18 2026, 1:29 PM
kevans updated the summary of D59785: bhyve: usb: properly handle port init/deinit/power-on.
Sep 18 2026, 2:33 AM
kevans requested review of D59785: bhyve: usb: properly handle port init/deinit/power-on.
Sep 18 2026, 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

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

Sep 17 2026

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

Manpage revision, incorporate some of polyduekes' feedback

Sep 17 2026, 8:14 PM
kevans accepted D58822: db/hash: Harden hash(3) database code.
Sep 17 2026, 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

Sep 17 2026, 4:10 AM

Sep 16 2026

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

Taking this to address some feedback

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

Fixed one indentation issue

Sep 16 2026, 5:47 PM
kevans commandeered D51735: bhyve: introduce cancel interface for usb device.
Sep 16 2026, 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.

Sep 16 2026, 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

Sep 16 2026, 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.

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

Sep 15 2026

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.

Sep 15 2026, 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?

Sep 15 2026, 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?

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

Sep 13 2026

kevans added inline comments to D51735: bhyve: introduce cancel interface for usb device.
Sep 13 2026, 3:51 PM
kevans added inline comments to D59591: geom: Check file flags before handling control request.
Sep 13 2026, 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?

Sep 13 2026, 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.
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.
Sep 9 2026, 9:01 AM