Page MenuHomeFreeBSD

brooks (Brooks Davis)
User

Projects (3)

User Details

User Since
Jul 1 2014, 6:02 PM (612 w, 4 d)

Recent Activity

Fri, Mar 27

brooks committed R11:ed313eabe5df: devel/qemu-cheri: update to a new snapshot.
Fri, Mar 27, 4:32 PM
brooks committed R11:483a6fa9f087: devel/llvm22: 22.1.2 release.
Fri, Mar 27, 4:32 PM
brooks committed R11:9bef81efd3d9: devel/llvm22: 22.1.1 release.
Fri, Mar 27, 4:32 PM

Fri, Mar 13

brooks committed rG3abef030d31a: Set errno to ENOMEM on rallocx() OOM failures (authored by Juhyung Park <qkrwngud825@gmail.com>).
Fri, Mar 13, 9:14 AM
brooks committed rGb4d8d9bde083: rallocx path: only set errno on the realloc case. (authored by Qi Wang <interwq@gwu.edu>).
Fri, Mar 13, 9:14 AM

Mon, Mar 9

brooks committed rG5583b64f230f: Set errno to ENOMEM on rallocx() OOM failures (authored by Juhyung Park <qkrwngud825@gmail.com>).
Mon, Mar 9, 12:38 PM
brooks committed rG2c5cd07828ad: rallocx path: only set errno on the realloc case. (authored by Qi Wang <interwq@gwu.edu>).
Mon, Mar 9, 12:38 PM

Thu, Mar 5

brooks committed rG4dd517acb694: libc/armv7: remove default version for alloca.
Thu, Mar 5, 10:36 AM
brooks committed rGdb1ecd5854d4: getnetconfig: make nc_error a thread local variable.
Thu, Mar 5, 10:31 AM
brooks committed rGea9bc8465830: cirrus-ci: move package_check after test.
Thu, Mar 5, 10:25 AM

Feb 24 2026

brooks committed R11:52e12ad06a5e: devel/llvm{19,20,21,22}: don't set LLVM_ENABLE_TERMINFO=OFF.
Feb 24 2026, 11:26 AM
brooks committed R11:c85d06b4b634: devel/llvm22: 22.1.0 Release.
Feb 24 2026, 11:26 AM

Feb 23 2026

brooks committed rG0076f6d1ad05: sys/_offsetof.h: pacify GCC 12's macro redefinition check.
Feb 23 2026, 10:05 AM

Feb 19 2026

brooks committed rGdcbd1fccdc66: types.h: use central definition of offsetof().
Feb 19 2026, 4:26 PM
brooks committed rG89c3ae5fc9cc: build: add stddef.h to define ptraddr_t as required.
Feb 19 2026, 3:11 PM
brooks committed rG2adc3f0db187: stddef.h: centralize definition of offsetof().
Feb 19 2026, 3:11 PM
brooks committed rGa31127e6dfbf: sys/syscallsubr.h: assorted tidying.
Feb 19 2026, 3:11 PM
brooks committed rG1e1892795764: .github: support all stable branches.
Feb 19 2026, 3:11 PM
brooks committed rGcb59eec9ebbf: stddef.h: add ptraddr_t.
Feb 19 2026, 3:11 PM

Feb 18 2026

brooks committed R11:f59cd32a1a9b: Mk: add LLVM 22 in default versions list (authored by eric_camachat.org).
Feb 18 2026, 12:01 PM
brooks committed R11:1580588b79e4: devel/llvm22: 22.1.0-rc3.
Feb 18 2026, 12:01 PM

Feb 17 2026

brooks committed rGc4130a8a84e1: OpenSSL: install EVP_CIPHER_CTX_get_app_data.3 once.
Feb 17 2026, 6:25 PM

Feb 2 2026

brooks committed rG18d47c1856f4: rpc: correct resultproc_t's type.
Feb 2 2026, 9:21 PM
brooks committed rGe236502a997d: clnt_broadcast(3): fix eachresult argument type.
Feb 2 2026, 9:21 PM
brooks committed rG47413f23e503: clnt_broadcast(3): don't free function pointers.
Feb 2 2026, 9:21 PM
brooks committed R11:dcdd54847b9d: devel/llvm-cheri: new snapshot.
Feb 2 2026, 5:59 PM
brooks committed R11:75ec43cc2c95: devel/llvm-morello: new snapshot.
Feb 2 2026, 5:59 PM
brooks committed R11:7c32287b8d20: devel/llvm22: 22.1.0 RC2.
Feb 2 2026, 5:59 PM

Jan 23 2026

brooks committed rGac5a19ec6989: rpc/xdr.h: make xdrproc_t always take two arguments.
Jan 23 2026, 11:07 AM

Jan 20 2026

brooks accepted D54797: rpctls_impl.c: Use a direct cast to uintptr_t instead of __DECONST.
Jan 20 2026, 5:49 PM

Jan 19 2026

brooks added a comment to D54770: queue.3: splist into slist.3, stailq.3, list.3, and tailq.3.

I like the idea of the split, but I'm not convinced queue.3 should go away entirely. If nothing else this commit fails to remove all references to queue(3) in the tree and I suspect it's in some people's finger memory. I'd suggest transforming queue.3 into an intro-like manpage with a brief comparison of each of the relevant list/queue types.

Jan 19 2026, 9:52 PM · Contributor Reviews (src)
brooks committed R11:6cda2f3ed1b0: devel/llvm22: 22.1.0-RC1.
Jan 19 2026, 2:09 PM
brooks committed R11:c1a068509119: devel/llvm22: bootstrap from devel/llvm21.
Jan 19 2026, 2:09 PM

Jan 16 2026

brooks added a comment to D54663: sys/abi_compat.h: fix UB.
In D54663#1250782, @kib wrote:
In D54663#1250766, @kib wrote:

After we agree on the approach and this change lands, I plan to do the pass over uses of val1/val2 in compat32, where int64_t val is used by the host ABI, converting them to freebsd32_uint64_t.

Please consider limiting this sweep to cases where the value will be mis-aligned relative to the struct.

Can you elaborate please, why? I understand that it formally changes nothing.

Jan 16 2026, 3:03 PM
brooks added a comment to D54663: sys/abi_compat.h: fix UB.
In D54663#1250766, @kib wrote:

After we agree on the approach and this change lands, I plan to do the pass over uses of val1/val2 in compat32, where int64_t val is used by the host ABI, converting them to freebsd32_uint64_t.

Jan 16 2026, 2:46 PM
brooks committed rGa01a4c0730c5: CODEOWNERS: register interest in some infrastructure.
Jan 16 2026, 9:45 AM
brooks committed rGd78291b0e973: lib/virtual_oss: don't (over)link to libsamplerate.
Jan 16 2026, 9:45 AM
brooks committed rG373c72ad5044: virtual_oss: build system tidying.
Jan 16 2026, 9:45 AM
brooks committed rGadab1dd6a70e: virtual_oss: build commands/libs in parallel.
Jan 16 2026, 9:45 AM
brooks committed rG497a13601fb7: virtual_oss: remove needless .include in intermediate Makefile.
Jan 16 2026, 9:45 AM
brooks closed D54705: lib/virtual_oss: don't (over)link to libsamplerate.
Jan 16 2026, 9:45 AM
brooks closed D54704: vitual_oss: build system tidying.
Jan 16 2026, 9:45 AM
brooks closed D54703: virtual_oss: build commands/libs in parallel.
Jan 16 2026, 9:45 AM
brooks closed D54702: virtual_oss: remove needless .include in intermediate Makefile.
Jan 16 2026, 9:45 AM
brooks committed rG296ebf7b8a50: iflib: remove convoluted custom zeroing code.
Jan 16 2026, 9:31 AM
brooks committed rG484edabb9455: iflib: remove convoluted custom zeroing code.
Jan 16 2026, 9:30 AM

Jan 15 2026

brooks added a comment to D54704: vitual_oss: build system tidying.

Neither lib/virtual_oss nor usr.sbin/virtual_oss build with this patch:

root@freebsd:/mnt/src/lib/virtual_oss # make
Building /usr/obj/mnt/src/amd64.amd64/lib/virtual_oss/null/null.pico
In file included from /mnt/src/lib/virtual_oss/null/null.c:39:
/mnt/src/usr.sbin/virtual_oss/virtual_oss/int.h:33:10: fatal error: 'samplerate.h' file not found
   33 | #include <samplerate.h>
Jan 15 2026, 11:55 AM
brooks accepted D54673: linuxkpi: Clean up linux_shmem_file_setup() a bit.

In practice, this would be fine with default CHERI C, but broken with subobject bounds.

Jan 15 2026, 11:38 AM
brooks committed R11:241a2e105297: devel/llvm1[4567]: keep backport patches local.
Jan 15 2026, 10:23 AM
brooks added inline comments to D54591: devstat: Provide 32-bit compatibility.
Jan 15 2026, 9:48 AM

Jan 14 2026

brooks committed R11:846c560f3722: devel/llvm-devel: update to the LLVM 22 branch point.
Jan 14 2026, 3:10 PM
brooks committed R11:d5c827648ead: devel/llvm1[4567]: keep backport patches local.
Jan 14 2026, 3:09 PM
brooks added a comment to D54702: virtual_oss: remove needless .include in intermediate Makefile.

@ivy Makefile.inc defines:

PACKAGE?=	sound

Is it a problem if the inclusion is removed from here?

Jan 14 2026, 3:01 PM
brooks accepted D54708: virtual_oss: Take MK_CUSE into account.

I'm not sure if this is the right sorting, but otherwise it's good.

Jan 14 2026, 2:59 PM
brooks added a comment to D54705: lib/virtual_oss: don't (over)link to libsamplerate.

The whole stack of review builds including subdirectories that aren't connected to the build (other then sndio since I didn't have libsndio installed). However, these changes are untested and I've only verified this last change by building and examining the library with nm to verity that they don't include surprising undefined symbols.

Jan 14 2026, 12:53 PM
brooks requested review of D54705: lib/virtual_oss: don't (over)link to libsamplerate.
Jan 14 2026, 12:50 PM
brooks requested review of D54704: vitual_oss: build system tidying.
Jan 14 2026, 12:50 PM
brooks requested review of D54703: virtual_oss: build commands/libs in parallel.
Jan 14 2026, 12:50 PM
brooks requested review of D54702: virtual_oss: remove needless .include in intermediate Makefile.
Jan 14 2026, 12:49 PM

Jan 9 2026

brooks added a comment to D54605: iflib: remove convoluted custom zeroing code.
In D54605#1248134, @erj wrote:

If this really matters we should find a more maintainable solution.

I'm assuming it probably doesn't matter, at least until someone profiles it. Thanks for looking at it!

Jan 9 2026, 10:01 PM
brooks added a reverting change for rG19728f31ae42: sys/_types.h: Unbreak gcc build: rG0a64d16cef17: sys/_types.h: avoid use of __has_feature().
Jan 9 2026, 2:43 PM
brooks added a reverting change for rG029a09f18032: sys/_types.h: Actually unbreak gcc build: rG0a64d16cef17: sys/_types.h: avoid use of __has_feature().
Jan 9 2026, 2:43 PM
brooks committed rG0a64d16cef17: sys/_types.h: avoid use of __has_feature().
Jan 9 2026, 2:43 PM
brooks committed rG31e7dc6b9a00: iflib: remove convoluted custom zeroing code.
Jan 9 2026, 2:43 PM
brooks closed D54009: sys/_types.h: avoid use of __has_feature().
Jan 9 2026, 2:43 PM
brooks added a reverting change for D53986: sys/_types.h: Actually unbreak gcc build: rG0a64d16cef17: sys/_types.h: avoid use of __has_feature().
Jan 9 2026, 2:43 PM
brooks added a reverting change for D53980: sys/_types.h: Unbreak gcc build: rG0a64d16cef17: sys/_types.h: avoid use of __has_feature().
Jan 9 2026, 2:43 PM
brooks closed D54605: iflib: remove convoluted custom zeroing code.
Jan 9 2026, 2:43 PM
brooks closed D54554: cache: avoid hardcoded CACHE_PATH_CUTOFF.
Jan 9 2026, 2:17 PM
brooks committed rG1b425afa8d5f: cache: avoid hardcoded CACHE_PATH_CUTOFF.
Jan 9 2026, 2:17 PM
brooks closed D54553: cache: avoid hardcoded cache padding.
Jan 9 2026, 2:17 PM
brooks committed rG258ad800929b: cache: avoid hardcoded cache padding.
Jan 9 2026, 2:17 PM
brooks closed D54376: cache: avoid hardcoded zone alignment.
Jan 9 2026, 2:17 PM
brooks committed rGfb0bdbea2ed4: cache: avoid hardcoded zone alignment.
Jan 9 2026, 2:16 PM
brooks added a comment to D54605: iflib: remove convoluted custom zeroing code.
In D54605#1247657, @erj wrote:

For additional context, I took a look at the disassembly on amd64 and the memsets are all expanded in place:

Did you look at the assembly from before the change and did it look like the post-memset change contents? I'm curious about what that custom zeroing code looked like and what it achieved.

Jan 9 2026, 11:24 AM
brooks added a comment to D54553: cache: avoid hardcoded cache padding.

I fail to see any usefulness of CACHE_LARGE_PAD when it was introduced, which corresponds to aligning CACHE_ZONE_LARGE_SIZE to struct namecache_ts. So I'd just drop the corresponding roundup2(), with the benefit of not requiring a struct namecache_ts alignment for CACHE_ZONE_LARGE_SIZE (but then you have to change the corresponding static assertion).

Jan 9 2026, 9:45 AM
brooks updated the diff for D54554: cache: avoid hardcoded CACHE_PATH_CUTOFF.

Fix up comment removing errors

Jan 9 2026, 9:39 AM
brooks updated the summary of D54554: cache: avoid hardcoded CACHE_PATH_CUTOFF.
Jan 9 2026, 9:38 AM
brooks updated the diff for D54376: cache: avoid hardcoded zone alignment.

Rename CACHE_ZONE_ALIGNMENT to CACHE_ZONE_ALIGN_MASK and use it
consistenly.

Jan 9 2026, 9:15 AM

Jan 8 2026

brooks updated the diff for D54605: iflib: remove convoluted custom zeroing code.

Drop *_zero functions entierly

Jan 8 2026, 6:36 PM
brooks added a comment to D54605: iflib: remove convoluted custom zeroing code.

For additional context, I took a look at the disassembly on amd64 and the memsets are all expanded in place:

;       memset(pi, 0, sizeof(*pi));
    8461: 48 c7 85 78 ff ff ff 00 00 00 00      movq    $0x0, -0x88(%rbp)
    846c: 48 c7 85 70 ff ff ff 00 00 00 00      movq    $0x0, -0x90(%rbp)
    8477: 48 c7 85 68 ff ff ff 00 00 00 00      movq    $0x0, -0x98(%rbp)
    8482: 48 c7 85 60 ff ff ff 00 00 00 00      movq    $0x0, -0xa0(%rbp)
    848d: 48 c7 85 58 ff ff ff 00 00 00 00      movq    $0x0, -0xa8(%rbp)
    8498: 48 c7 85 50 ff ff ff 00 00 00 00      movq    $0x0, -0xb0(%rbp)
...
;       memset(ri, 0, sizeof(*ri));
    8b1d: 48 c7 85 78 ff ff ff 00 00 00 00      movq    $0x0, -0x88(%rbp)
    8b28: 48 c7 85 70 ff ff ff 00 00 00 00      movq    $0x0, -0x90(%rbp)
    8b33: 48 c7 85 60 ff ff ff 00 00 00 00      movq    $0x0, -0xa0(%rbp)
    8b3e: 48 c7 85 58 ff ff ff 00 00 00 00      movq    $0x0, -0xa8(%rbp)
    8b49: 48 8b 85 48 ff ff ff          movq    -0xb8(%rbp), %rax
...
;       memset(pi, 0, sizeof(*pi));
    a9aa: 48 c7 45 a0 00 00 00 00       movq    $0x0, -0x60(%rbp)
    a9b2: 48 c7 45 98 00 00 00 00       movq    $0x0, -0x68(%rbp)
    a9ba: 48 c7 45 90 00 00 00 00       movq    $0x0, -0x70(%rbp)
    a9c2: 48 c7 45 88 00 00 00 00       movq    $0x0, -0x78(%rbp)
    a9ca: 48 c7 45 80 00 00 00 00       movq    $0x0, -0x80(%rbp)
    a9d2: 48 c7 85 78 ff ff ff 00 00 00 00      movq    $0x0, -0x88(%rbp)
    a9dd: 48 c7 85 70 ff ff ff 00 00 00 00      movq    $0x0, -0x90(%rbp)
...
;       memset(ri, 0, sizeof(*ri));
    bc7c: 48 c7 45 b0 00 00 00 00       movq    $0x0, -0x50(%rbp)
    bc84: 48 c7 45 a8 00 00 00 00       movq    $0x0, -0x58(%rbp)
    bc8c: 48 c7 45 a0 00 00 00 00       movq    $0x0, -0x60(%rbp)
    bc94: 48 c7 45 98 00 00 00 00       movq    $0x0, -0x68(%rbp)
    bc9c: 48 c7 45 90 00 00 00 00       movq    $0x0, -0x70(%rbp)
...
;       memset(pi, 0, sizeof(*pi));
    dc56: 48 c7 45 c8 00 00 00 00       movq    $0x0, -0x38(%rbp)
    dc5e: 48 c7 45 c0 00 00 00 00       movq    $0x0, -0x40(%rbp)
    dc66: 48 c7 45 b8 00 00 00 00       movq    $0x0, -0x48(%rbp)
    dc6e: 48 c7 45 b0 00 00 00 00       movq    $0x0, -0x50(%rbp)
    dc76: 48 c7 45 a8 00 00 00 00       movq    $0x0, -0x58(%rbp)
    dc7e: 48 c7 45 a0 00 00 00 00       movq    $0x0, -0x60(%rbp)
    dc86: 48 c7 45 98 00 00 00 00       movq    $0x0, -0x68(%rbp)
Jan 8 2026, 6:31 PM
brooks added a comment to D54605: iflib: remove convoluted custom zeroing code.

CHERI adds yet another branch to the ifdefs and makes this worse and harder to maintain so it's time for it to go. The compiler is also free to recognize the pattern here as memset and replace the code with a libcall so this optimization isn't reliable in any way.

Jan 8 2026, 6:11 PM
brooks requested review of D54605: iflib: remove convoluted custom zeroing code.
Jan 8 2026, 6:09 PM
brooks updated the diff for D54554: cache: avoid hardcoded CACHE_PATH_CUTOFF.

Update the CACHE_PATH_CUTOFF comment adding more context and values.

Jan 8 2026, 1:59 PM
brooks updated the diff for D54376: cache: avoid hardcoded zone alignment.

Restore CACHE_ZONE_ALIGNMENT

Jan 8 2026, 12:45 PM

Jan 6 2026

brooks updated the diff for D54376: cache: avoid hardcoded zone alignment.

Address most of @jhb's feedback. Remvoe CACHE_ZONE_ALIGNMENT entierly
in favor of _Alignof(struct namecache_ts).

Jan 6 2026, 9:35 AM
brooks requested review of D54554: cache: avoid hardcoded CACHE_PATH_CUTOFF.
Jan 6 2026, 9:32 AM
brooks requested review of D54553: cache: avoid hardcoded cache padding.
Jan 6 2026, 9:32 AM

Dec 26 2025

brooks added a comment to D54376: cache: avoid hardcoded zone alignment.

This passes a universe build with:

Dec 26 2025, 7:38 PM
brooks requested review of D54376: cache: avoid hardcoded zone alignment.
Dec 26 2025, 7:35 PM

Dec 22 2025

brooks accepted D54290: telnet: Remove usage of ALIGN.
Dec 22 2025, 10:10 AM

Dec 19 2025

brooks committed rGa79e2278c58e: ipf: copy{in,out}ptr -> ipf_copy{in,out}_indirect.
Dec 19 2025, 4:00 PM
brooks closed D54232: ipf: copy{in,out}ptr -> ipf_copy{in,out}_indirect.
Dec 19 2025, 3:59 PM
brooks abandoned D54266: iwlwifi: Don't compile for clang before 19.

D54301 and D54297 will resolve this issue

Dec 19 2025, 9:56 AM
brooks accepted D54297: LinuxKPI: bitcount fix gcc and older llvm builds.
Dec 19 2025, 9:55 AM
brooks accepted D54301: sys/bitcount.h: add __const_bitcount<n>.

LGTM. Out of paranoia, I verified using compiler explorer that it's reliably const enough to use in a macro even at -O0 with an old clang.

Dec 19 2025, 9:55 AM

Dec 18 2025

brooks committed R11:1d3dab2c20c0: devel/llvm21: 21.1.8 release.
Dec 18 2025, 10:53 PM
brooks added a comment to D54266: iwlwifi: Don't compile for clang before 19.

I don't care how it's fixed, but I will commit this pretty soon if a broader fix isn't added. The linuxkpi fix should never have been committed without a fallback.

Dec 18 2025, 3:40 PM

Dec 17 2025

brooks updated the diff for D54266: iwlwifi: Don't compile for clang before 19.

Bump compiler version to 19.1.0 since development versions may not
include __builtin_popcountg.

Dec 17 2025, 11:56 AM
brooks requested review of D54266: iwlwifi: Don't compile for clang before 19.
Dec 17 2025, 11:53 AM