Page MenuHomeFreeBSD

imp (Warner Losh)
User

Projects (7)

User Details

User Since
Jun 2 2014, 4:20 PM (625 w, 2 d)

Recent Activity

Mon, May 25

imp accepted D57239: acpi: On /dev/power suspend, trigger userspace notifications.
Mon, May 25, 8:15 PM
imp accepted D57208: kern: Implement all dead and no prefixed functions in kern_conf.

C had finally outpaced the generic catch-all function... eopnotsupp, or similar, has been around since at least v4 (the first C version we have).

nodev()
{
        u.u_error = ENODEV;
}

I know this is for one of the kernel sanitizers and not strictly forced by new C behavior, but still...

Mon, May 25, 2:45 AM

Sun, May 24

imp accepted D57216: nanobsd: Get the code size by its partition index.
Sun, May 24, 11:30 PM
imp accepted D57217: nanobsd: Remove spurious exit call.
Sun, May 24, 11:29 PM
imp accepted D57218: nanobsd: Unify makefs(8) ffs options.

So minfree=1 or =2 will avoid n^2 behavior in block allocations. If it's a read-only image, then that doesn't matter, but if the final image does a lot of that minfree=0 could be a problem and at least needs an note somewhere.

Sun, May 24, 11:29 PM
imp accepted D57219: nanobsd: Use rounded sizes for cfg and data slices.
Sun, May 24, 11:27 PM
imp accepted D57220: nanobsd: Account for metadata overhead in code slice.

ok, but maybe 16 is better encoded as a variable name.

Sun, May 24, 11:27 PM
imp accepted D57221: nanobsd: Offset code partition to a track boundary.

With the proviso that track boundaries are almost useless today, even for MBR which once upon a time was tied to track boundaries.

Sun, May 24, 11:26 PM
imp accepted D57222: nanobsd: Explicitly set image size and secsz in mkimg.
Sun, May 24, 11:25 PM
imp accepted D57223: nanobsd: Refactor secondary code partition logic.
Sun, May 24, 11:24 PM
imp accepted D57224: nanobsd: Fix code image size formatting.
Sun, May 24, 11:24 PM
imp accepted D57225: nanobsd: Use makefs -R flag to honor rounded sizes.
Sun, May 24, 11:23 PM
imp added a comment to D57226: nanobsd: Adjust the order of the flags in makefs.

Nice catch

Sun, May 24, 6:58 PM
imp accepted D57226: nanobsd: Adjust the order of the flags in makefs.
Sun, May 24, 6:58 PM
imp added a comment to D56835: rcd(8): new service manager daemon.

I'd like to echo the user requirement. I have not current need for it at $WORK, but can see a need in the future. Having the ability for users to tie into the startup, running as themselves, much like we allow users to add jobs to cron, at, etc would be a useful, but not gating, feature.

Sun, May 24, 6:38 PM

Thu, May 21

imp accepted D57039: nanobsd: Minor style fixes.
Thu, May 21, 11:39 PM
imp accepted D57040: nanobsd: Use NANO_IMG1NAME.
Thu, May 21, 11:38 PM

Tue, May 19

imp added inline comments to D57087: nvme: add Apple T2 ANS2 NVMe quirks.
Tue, May 19, 11:23 PM · apple (x86), drivers

Sun, May 17

imp added a comment to D57054: sys/x86/x86/ucode.c: Do not use wrmsr_early_safe() for Intel.

What are the risks this a avoids?

Sun, May 17, 6:38 PM
imp added a reviewer for D57036: ufs: ufs_bmap_seekdata() needs mapped buffer for scan: chs.
Sun, May 17, 12:16 AM

Fri, May 15

imp closed D55195: git-arc: Tweak heuristic for email address.

oh, this is in

commit 4fb507cae916d04fcd1e80e69923c5ca5c4340eb
Author: Warner Losh <imp@FreeBSD.org>
Date:   Mon Feb 9 09:14:16 2026 -0700
Fri, May 15, 5:19 PM
imp added a comment to D57008: tools/tools/editing/freebsd.el: Add support for tree-sitter modes.
(defconst knf-c-style
  '((c-basic-offset . 8)
    (c-comment-only-line-offset . 0)
    (c-offsets-alist . ((statement-block-intro . +)
                        (knr-argdecl-intro . +)
                        (substatement-open . 0)
                        (label . 0)
                        (statement-cont . +)
                        (inline-open . 0)
                        (inexpr-class . 0)
                        (statement-cont . *)
                        (arglist-cont . *)
                        (arglist-cont-nonempty *))))
  "BSD KNF")
(c-add-style "knf" knf-c-style)

is what I use.

Fri, May 15, 4:04 PM

Thu, May 14

imp accepted D57002: Bug 295139 - kldload prints wrong error message to terminal upon attempt to load incorrect module version.

This looks good to my eye.
However, in the future, can you please use git-arc to upload patches, or generate the raw diffs with -U99999 please? There's no context to this review making it harder to verify that other paths make this same check.

Thu, May 14, 3:52 PM
imp added a reverting change for rG0a19464bf7af: nvme: Only attach to storage NVMe devices: rGfb4e7898a359: Revert "nvme: Only attach to storage NVMe devices".
Thu, May 14, 3:37 PM
imp committed rGfb4e7898a359: Revert "nvme: Only attach to storage NVMe devices" (authored by imp).
Revert "nvme: Only attach to storage NVMe devices"
Thu, May 14, 3:37 PM
imp added inline comments to D56997: sys: Use is_pci_device instead of direct comparisons to devclasses.
Thu, May 14, 1:26 AM
imp accepted D56998: sys: Use is_pci_device instead of checking device or devclass names.

There's also a onw or places in the tree that climb the tree to find pci

Thu, May 14, 1:20 AM

Wed, May 13

imp added inline comments to D56994: nvme: Fix broken ahci attachment.
Wed, May 13, 7:53 PM · drivers
imp added inline comments to D56994: nvme: Fix broken ahci attachment.
Wed, May 13, 7:40 PM · drivers
imp accepted D56995: ctl: Use CAM_PRIORITY_NORMAL for queued CCBs.
Wed, May 13, 7:19 PM
imp updated subscribers of D56994: nvme: Fix broken ahci attachment.
Wed, May 13, 7:19 PM · drivers
imp requested review of D56994: nvme: Fix broken ahci attachment.
Wed, May 13, 7:05 PM · drivers
imp accepted D56982: linux: Fix some problems with header pollution.

Does this let us take anything out of badfiles.inc?

Wed, May 13, 5:41 PM

Mon, May 11

imp accepted D56896: pci: pci_host_generic: provide cleanup methods outside of detach.

OK. I'm happy.

Mon, May 11, 10:54 PM
imp accepted D56918: zzz: Rewrite to use new power device.
Mon, May 11, 9:37 PM
imp added a comment to D56896: pci: pci_host_generic: provide cleanup methods outside of detach.

looks good, not sure why free vs destroy though

Mon, May 11, 4:29 PM
imp accepted D56897: pci: bcm2838: cleanup on attach failure to fix devmatch panic.
Mon, May 11, 3:41 PM
imp accepted D56922: Clear cut-paste selection if the area intersects with filled region..
Mon, May 11, 3:38 PM

Sun, May 10

imp added a comment to D53910: website: complete refresh of beastie theme.
In D53910#1303914, @imp wrote:

Please understand that I am personally committed to seeing this website refresh land, however I am formally requesting changes proposed over email. I would like to propose the line objected to is replaced with "For over 30 years, this has been a grass roots project carried by passionate volunteers."

Firstly, for those of us not privy to this private email chain, what specifically is being objected to, and why?

The line "Check out the engagement driven by the FreeBSD Foundation on YouTube" is being objected to on the grounds that it is inappropriate for the "Community" box.

A social media presence dedicated to FreeBSD, by people who are involved in FreeBSD, that is an official FreeBSD-related organisation, and is engaging with people on the internet, is inappropriate for the "Community" section of the FreeBSD website how?..

The FreeBSD foundation is it's own entity, with it's own website. The Project is consists of a democratic system, which the Foundation exists completely separate and outside of.

I'd disagree with that characterization if the foundation. It is very much a part of the community and has helped build parts of the community. It's very much not outside of the community.

I did not (nor did i mean to) say that it is not part of the community or has not helped build the community, or even me personally! Rather, the netflix freebsd community is a major part of the community and has helped build it a lot, should that be in the community box? Rather than a statement about the community as a whole?

This is a box labeled "Community" on the front page with 3 sentences. It shouldn't be advertising anything other than the Project's community.

Sun, May 10, 6:25 PM
imp accepted D56889: sys/cdefs.h: move __BEGIN_DECLS/__END_DECLS into a helper sys/_decls.h.
Sun, May 10, 6:11 PM
imp added a comment to D56889: sys/cdefs.h: move __BEGIN_DECLS/__END_DECLS into a helper sys/_decls.h.

The commit message should explain why...

Sun, May 10, 5:50 PM
imp added a comment to D53910: website: complete refresh of beastie theme.

Please understand that I am personally committed to seeing this website refresh land, however I am formally requesting changes proposed over email. I would like to propose the line objected to is replaced with "For over 30 years, this has been a grass roots project carried by passionate volunteers."

Firstly, for those of us not privy to this private email chain, what specifically is being objected to, and why?

The line "Check out the engagement driven by the FreeBSD Foundation on YouTube" is being objected to on the grounds that it is inappropriate for the "Community" box.

A social media presence dedicated to FreeBSD, by people who are involved in FreeBSD, that is an official FreeBSD-related organisation, and is engaging with people on the internet, is inappropriate for the "Community" section of the FreeBSD website how?..

The FreeBSD foundation is it's own entity, with it's own website. The Project is consists of a democratic system, which the Foundation exists completely separate and outside of.

Sun, May 10, 5:44 PM
imp accepted D56894: linux: address executable stack warnings.
Sun, May 10, 4:37 AM
imp added a comment to D56898: sysctl.conf(5): Add support for sysctl.conf.d.

Just update the phabricator summary

Sun, May 10, 2:22 AM
imp added a comment to D56898: sysctl.conf(5): Add support for sysctl.conf.d.

Please add Relnotes: yes to the commit message.

Please add Relnotes: yes to the commit message.

Will do.

Wait, that has to be done when/if the diff is merged to the Tree?

Sun, May 10, 2:21 AM

Sat, May 9

imp accepted D56908: stand/i386: quiet executable stack warning.
Sat, May 9, 8:20 PM

Thu, May 7

imp accepted D56874: bsd.sys.mk: suppress some clang warnings for C++ for >= 19.

so long as these flags are cool for clang 19 and 20, this is fine.

Thu, May 7, 7:22 PM
imp accepted D56866: stand/libsa/zfs: disable ZSTD_TRACE and DYNAMIC_BMI2 code paths.

Nice catch! Thanks!

Thu, May 7, 3:43 PM
imp accepted D56801: acpi_spmc(4): Factor out code to test for a DSM's presence.
Thu, May 7, 2:41 AM
imp accepted D56800: acpi_spmc(4): Constraints: Rename the Intel-format parser.
Thu, May 7, 2:41 AM
imp accepted D56798: acpi_spmc(4): Fix comments on constraints storage.
Thu, May 7, 2:40 AM
imp accepted D56756: acpi_spmc(4): Human-readably print supported DSMs and their functions.
Thu, May 7, 2:40 AM
imp accepted D56818: acpi_spmc(4): acpi_spmc_probe_dsm(): Remove passing superfluous handle.
Thu, May 7, 2:39 AM
imp accepted D56816: acpi_spmc(4): Global message on constraints parsing failure.
Thu, May 7, 2:39 AM
imp accepted D56817: acpi_spmc(4): Enable multiple instances.
Thu, May 7, 2:39 AM
imp accepted D56815: acpi_spmc(4): Constraint parsing: Clearer error messages.
Thu, May 7, 2:38 AM
imp accepted D56814: acpi_spmc(4): In-kernel strdup() cannot fail, remove dead code.
Thu, May 7, 2:38 AM
imp accepted D56813: acpi_spmc(4): Gracefully support only the Microsoft DSM.
Thu, May 7, 2:38 AM
imp accepted D56811: acpi_spmc(4): Print supported functions after DSMs.
Thu, May 7, 2:37 AM
imp accepted D56810: acpi_spmc(4): Check DSMs only on attach, do not return 0 on probe.

Thanks!

Thu, May 7, 2:37 AM
imp accepted D56812: acpi_spmc(4): INVARIANTS: Do not panic on getting constraints failure.
Thu, May 7, 2:37 AM
imp accepted D56809: acpi_spmc(4): Stop pretending that all constraints are verified.
Thu, May 7, 2:36 AM
imp accepted D56808: acpi_spmc(4): Constraints: Clearer message on handle retrieve error.
Thu, May 7, 2:36 AM
imp accepted D56807: acpi_spmc(4): Constraints: Simplify some assertions.
Thu, May 7, 2:35 AM
imp accepted D56806: acpi_spmc(4): Rename functions parsing constraints.
Thu, May 7, 2:35 AM
imp accepted D56805: acpi_spmc(4): Factor out printing DSM call error, delineate function.
Thu, May 7, 2:35 AM
imp accepted D56804: acpi_spmc(4): softc: Remove unused 'obj'.
Thu, May 7, 2:35 AM
imp accepted D56803: acpi_spmc(4): Introduce supports_function().
Thu, May 7, 2:34 AM

Wed, May 6

imp accepted D56847: devmatch: read linker.hints from all module paths.

Looks very straight forward! Thanks for this addition.

Wed, May 6, 1:59 PM

Tue, May 5

imp accepted D56832: smartpqi: Add runtime debug_level sysctl and log device state changes.
Tue, May 5, 6:39 PM
imp accepted D56828: init: allow to specify a custom path for rc(8).

+1 on doc too

Tue, May 5, 1:14 PM

Mon, May 4

imp accepted D56401: sys/time: rework saturation ifdef to avoid direct arch ref.
Mon, May 4, 7:22 PM
imp accepted D56783: types: provide __SIZEOF_{INT{8,16,32,64},TIME,TIME32}_T.
Mon, May 4, 7:19 PM
imp added a comment to D56783: types: provide __SIZEOF_{INT{8,16,32,64},TIME,TIME32}_T.

Yes, via a PR -- https://docs.freebsd.org/en/articles/committers-guide/#ports-exp-run. You can attach a patch to be applied to src (here the patch would include both the parent review and this one). It will get tested in isolation. This sometimes seems excessive and batching a few seemingly trivial changes seems like it would make sense. That said, if there are failures in that hypothetical combined exp-run it may be difficult to figure out what's responsible, especially when there may be a number of already-failing or intermittently flaky ports.

__ is reserved namespace so nothing should fail and I think it's fair if we deem the risk is low enough to not bother with an exp-run.

Mon, May 4, 7:19 PM
imp added inline comments to D56783: types: provide __SIZEOF_{INT{8,16,32,64},TIME,TIME32}_T.
Mon, May 4, 3:53 PM
imp added inline comments to D56783: types: provide __SIZEOF_{INT{8,16,32,64},TIME,TIME32}_T.
Mon, May 4, 3:37 PM

Fri, May 1

imp added inline comments to D54586: mdoc: Standardize SYNOPISIS section for drivers.
Fri, May 1, 8:24 PM
imp added a reviewer for D54586: mdoc: Standardize SYNOPISIS section for drivers: imp.
Fri, May 1, 8:23 PM
imp added inline comments to D56747: asmc: rename wol sysctl to auto_poweron.
Fri, May 1, 8:13 PM

Thu, Apr 30

imp accepted D56110: mfi(4)/mrsas(4): Set sysctl name for driver versions consistently.
Thu, Apr 30, 5:15 PM
imp accepted D56746: Provide stdint.h macros unconditionally.

So the history:

Thu, Apr 30, 3:58 PM

Wed, Apr 29

imp added a comment to D46284: Add the ability have executable jail.conf.

@kevans: Can you think of a realistic situation where someone will have their jail configuration unintentionally executable? I don't think chmod -R 777 /etc is a supported configuration. Are we forced to support FAT32 as root file system on any strange platform or something like that?

Wed, Apr 29, 3:00 PM · Jails
imp accepted D56672: build: consolidate kldxref and move NO_XREF logic.
Wed, Apr 29, 1:30 PM
imp accepted D56708: Fix etcupdate diff with POSIXLY_CORRECT set, add option to list changes files.
Wed, Apr 29, 1:01 PM

Apr 27 2026

imp accepted D56656: Makefile.inc1: Use ln -n instead of ln -h.
Apr 27 2026, 5:21 AM
imp accepted D56650: acpi: Remove userland bits on non-ACPI platforms.

This looks great!

Apr 27 2026, 12:33 AM

Apr 26 2026

imp added inline comments to D56650: acpi: Remove userland bits on non-ACPI platforms.
Apr 26 2026, 10:30 PM
imp accepted D56643: Fix for Bug 293912: EFI Bootcode update instructions .

bootx64.efi is amd64-specific, so I'm glad you've added the clarifying note!

Apr 26 2026, 9:07 PM
imp accepted D56536: init: build dynamically.

This looks great! Thanks for updating the docs.

Apr 26 2026, 9:00 PM
imp added a comment to D56536: init: build dynamically.

I'm unsure about this novel dance with F_GETFL. I've not seen this in any of the other init programs I've looked at (admittedly, they were Linux or older BSDs), so I'd be curious to understand the reasoning behind that vs doing the simpler code I left in the specific comment.

Apr 26 2026, 9:38 AM
imp added a reverting change for rGb40205855e10: nda: Filter non-storage nvme drives: rG1f72d525fc7d: Revert "nda: Filter non-storage nvme drives".
Apr 26 2026, 3:20 AM
imp committed rG1f72d525fc7d: Revert "nda: Filter non-storage nvme drives" (authored by imp).
Revert "nda: Filter non-storage nvme drives"
Apr 26 2026, 3:20 AM
imp added a reverting change for D56461: nda: Filter non-storage nvme drives: rG1f72d525fc7d: Revert "nda: Filter non-storage nvme drives".
Apr 26 2026, 3:20 AM

Apr 25 2026

imp added a comment to D56634: Fix for boot(8) mistakenly stating that a `?` at the end of the path lists directory contents.

Now that lead me down the rabbit hole.
boot2 doesn't do this in boot2.c. It calls lookup() which is in ufsread.c in libsa. And that has this loop to parse the path (path is a cursor variable that walks through the path, s is the end of this segment of the path):

        for (;;) {
                if (*path == '/')
                        path++;
...
                for (s = path; *s && *s != '/'; s++);
...
                ls = *path == '?' && n == 1 && !*s;
...
                if ((dt = fsfind(name, &ino)) <= 0)
                        break;
                path = s;
        }

n == 1 means that ? is the only character (ignoring degenerate cases) after the / and is the last character of the string. So ? or /bin/? or /usr/local/lib/? will trigger ls == true. fsfind checks the global variable 'ls' and will just print all the files in that directory and return 0 so this loop terminates.

Apr 25 2026, 3:34 PM
imp accepted D56633: Document the FreeBSD BootEnv and NextBootEnv EFI variables in loader.efi (Bug 293054).
Apr 25 2026, 2:41 PM
imp accepted D56629: apm: Only install rc script on i386.

This is great. And it looks like there's more wired up than just -z for apm.

Apr 25 2026, 2:23 AM
imp added a comment to D56629: apm: Only install rc script on i386.

And to answer your other question: only suspend works

Apr 25 2026, 1:53 AM
imp added a comment to D56629: apm: Only install rc script on i386.
In D56629#1296825, @ivy wrote:

are you sure? /usr/sbin/zzz appears to be a shell script that controls ACPI via acpiconf(8), and only falls back to using apm(8) if the machdep.apm_suspend_delay sysctl exists, which it doesn't on my machine; i assume this comes from apm(4).

are there other functions of apm(8) that work on ACPI systems?

Apr 25 2026, 1:52 AM
imp requested changes to D56629: apm: Only install rc script on i386.

Apm, the program, works on any acpi machine. It's what is installed as zzz and still works. Apmd only talks to APM BIOS machines which are 20years dead at this point. Apm, the program, calls a generic interface for sleeping...

Apr 25 2026, 1:39 AM

Apr 24 2026

imp updated the diff for D54475: nvme: Be more correct in busdma usage.

review from chuck

Apr 24 2026, 11:35 PM