Page MenuHomeFreeBSD

jrtc27 (Jessica Clarke)
User

Projects (5)

User Details

User Since
Jul 4 2018, 7:23 PM (435 w, 3 d)

Recent Activity

Fri, Nov 6

jrtc27 added inline comments to D61126: bhyve/riscv: correctly handle empty masks and broadcast in SBI IPI/RFNC.
Fri, Nov 6, 12:15 PM

Thu, Nov 5

jrtc27 added a comment to D61126: bhyve/riscv: correctly handle empty masks and broadcast in SBI IPI/RFNC.

Can you please (a) avoid unnecessary churn (b) separate out and properly justify each logical change? The a1 addition in vmm_sbi_ecall seems entirely unrelated, but I also don't understand why it's needed, so if you believe it is, put it in its own revision with a proper commit message.

(b) is required as per specification. SBI call returns sbiret.{error, value}. Error is returned in a0 and value in a1. As per SBI specification, if a function has no return value, a1 must be 0. This path is being SBI spec compliant. Does it hurt here? or is this change big enough to stand alone in a separate patch?

Thu, Nov 5, 11:18 AM
jrtc27 committed rG8f83a7a336b4: Makefile.inc1: Make bootstrap mandoc's bootstrap libz dependency conditional.
Thu, Nov 5, 12:35 AM
jrtc27 committed rGd49c205d3b38: Makefile.inc1: Make sure mandoc bootstrap tool depends on libz.
Thu, Nov 5, 12:35 AM
jrtc27 committed rGded58efff1e2: Makefile.inc1: Make bootstrap mandoc's bootstrap libz dependency conditional.
Thu, Nov 5, 12:34 AM
jrtc27 committed rGc8119d2d3308: Makefile.inc1: Make sure mandoc bootstrap tool depends on libz.
Thu, Nov 5, 12:34 AM

Wed, Nov 4

jrtc27 added a comment to D61050: virtio_random: avoid using vtrnd_detach in the failure path.

Should we move the random instance inside the softc and make it work instead? Also means only paying for the space if you need it, not that it’s big.

Wed, Nov 4, 10:04 AM

Tue, Nov 3

jrtc27 added a comment to D61126: bhyve/riscv: correctly handle empty masks and broadcast in SBI IPI/RFNC.

Can you please (a) avoid unnecessary churn (b) separate out and properly justify each logical change? The a1 addition in vmm_sbi_ecall seems entirely unrelated, but I also don't understand why it's needed, so if you believe it is, put it in its own revision with a proper commit message.

Tue, Nov 3, 5:04 PM

Mon, Nov 2

jrtc27 added inline comments to D61126: bhyve/riscv: correctly handle empty masks and broadcast in SBI IPI/RFNC.
Mon, Nov 2, 9:16 PM
jrtc27 requested changes to D61126: bhyve/riscv: correctly handle empty masks and broadcast in SBI IPI/RFNC.
Mon, Nov 2, 9:01 PM

Fri, Oct 30

jrtc27 added inline comments to D60995: git-arc: add initial non-FreeBSD and `$HOME` install support.
Fri, Oct 30, 1:09 AM

Thu, Oct 29

jrtc27 added inline comments to D60995: git-arc: add initial non-FreeBSD and `$HOME` install support.
Thu, Oct 29, 11:56 PM
jrtc27 committed rG983cb64c05fa: Makefile.inc1: Make bootstrap mandoc's bootstrap libz dependency conditional.
Thu, Oct 29, 12:31 PM
jrtc27 committed rG1dbcc7ee92c4: Makefile.inc1: Make sure mandoc bootstrap tool depends on libz.
Thu, Oct 29, 8:44 AM

Sat, Oct 17

jrtc27 added inline comments to D60776: crypt_des: fail if salt/session is too short.
Sat, Oct 17, 3:12 PM
jrtc27 added a comment to D60789: riscv: bhyve: add NULL check for hyp in riscv_send_ipi.

That is not in general sufficient reasoning

Sat, Oct 17, 4:13 AM
jrtc27 requested changes to D60789: riscv: bhyve: add NULL check for hyp in riscv_send_ipi.

Commit message does not say the "why", only the "what"; i.e. it doesn't say under what circumstances this can happen. Can it happen? It would seem like a rather broken state to be in.

Sat, Oct 17, 1:29 AM

Fri, Oct 16

jrtc27 added inline comments to D60776: crypt_des: fail if salt/session is too short.
Fri, Oct 16, 4:20 PM

Oct 7 2026

jrtc27 added a comment to D59710: linker: Harden checks for ELFs.

Alternatively, why not just adjust the existing loop that populates segs to instead take min(p_vaddr) and max(p_vaddr + p_memsz)? It wouldn't be hard to do and would remove the need for this restriction (and without any complex sorting). The only thing you'd miss is handling overlapping segments, but to be honest I don't think that would necessarily be a problem, we'd do exactly what the file asked for and load the segments in that order, but it just might result in the module shooting itself in the foot, which I don't see as any different from the countless other ways a module can corrupt its own internal state and panic your kernel. At the end of the day if you're loading a module into the kernel you're trusting the module to not itself be a panic-fest, all the kernel linker should be doing is avoiding confusing/corrupting things *outside* the module.

I thought about that at the start, but ended up with the extra check since the subsequent code seems to rely on that.
Overall, I think a sane policy for malformed modules would be: if it has to crash, it should do so outside of the linker.

Oct 7 2026, 2:48 PM

Oct 6 2026

jrtc27 added a comment to D59710: linker: Harden checks for ELFs.

Alternatively, why not just adjust the existing loop that populates segs to instead take min(p_vaddr) and max(p_vaddr + p_memsz)? It wouldn't be hard to do and would remove the need for this restriction (and without any complex sorting). The only thing you'd miss is handling overlapping segments, but to be honest I don't think that would necessarily be a problem, we'd do exactly what the file asked for and load the segments in that order, but it just might result in the module shooting itself in the foot, which I don't see as any different from the countless other ways a module can corrupt its own internal state and panic your kernel. At the end of the day if you're loading a module into the kernel you're trusting the module to not itself be a panic-fest, all the kernel linker should be doing is avoiding confusing/corrupting things *outside* the module.

Oct 6 2026, 1:12 PM

Oct 3 2026

jrtc27 added a comment to D60278: riscv: Enable linker relaxation with lld 15 and later.

If you’re to use them, at least have the decency to remove all the slop and write a proper commit message. As it stands this is a very low-effort change that feels extractive.

Oct 3 2026, 1:09 PM · riscv
jrtc27 added a comment to D60278: riscv: Enable linker relaxation with lld 15 and later.

Did you use LLMs to generate this?

Oct 3 2026, 1:00 PM · riscv

Sep 29 2026

jrtc27 committed rGc3e55f4b5d53: bhyve: rtc_pl031: Fix PeriphID and CellID values (authored by kajetan.puchalski_arm.com).
Sep 29 2026, 9:23 PM

Sep 28 2026

jrtc27 added a comment to D59620: ldscript.powerpc*: Keep .data.rel.ro out of PT_DYNAMIC.

The only reason to do have this singular RWX segment would be if whatever's loading the kernel cannot tolerate more than one PT_LOAD. I hope that's really not the case. Manually specifying the program headers really sucks as a thing to do (no PT_NOTE for NT_GNU_BUILD_ID, no PT_GNU_RELRO, no PT_INTERP with /red/herring, and any other helpful things your toolchain might normally add...).

Sep 28 2026, 6:13 PM

Sep 22 2026

jrtc27 added inline comments to D59897: rtld: add LoongArch support.
Sep 22 2026, 5:33 PM

Sep 21 2026

jrtc27 added a comment to D59813: riscv intc: convert to a bus.

I intend to review this in the coming days

Sep 21 2026, 9:07 PM

Sep 18 2026

jrtc27 requested changes to D59813: riscv intc: convert to a bus.

Please go read all of D40474

Sep 18 2026, 2:32 PM

Sep 16 2026

jrtc27 added inline comments to D58985: sys: build core headers under bounds-safety.
Sep 16 2026, 12:16 AM
jrtc27 added inline comments to D58985: sys: build core headers under bounds-safety.
Sep 16 2026, 12:13 AM
jrtc27 added inline comments to D58983: cdefs: add bounds-safety annotation macros.
Sep 16 2026, 12:02 AM

Sep 15 2026

jrtc27 added a comment to D58985: sys: build core headers under bounds-safety.

A higher level comment: I don't think we should be landing tree-wide changes to support -fbounds-safety unless there's community buy-in for actually adopting it as an in-tree option in parts of the kernel. Otherwise we're picking up a lot of churn and annotations that will bit-rot and pollute the code for no gain.

Sep 15 2026, 11:58 PM
jrtc27 added a comment to D58985: sys: build core headers under bounds-safety.

Prevailing style is to put a space between the * and qualifier that follows, which all these new annotations should follow.

Sep 15 2026, 11:56 PM
jrtc27 added inline comments to D59647: trap_cfi(9): introduce riscv implementation.
Sep 15 2026, 5:51 PM
jrtc27 added a comment to D59647: trap_cfi(9): introduce riscv implementation.

Is this necessary? Do you not want LLDB to print trapframes as special, like KGDB does, and like GDB does for signal frames?

Sep 15 2026, 5:38 PM
jrtc27 added a comment to D59635: rtld: more caution when parsing notes in digest_notes().

How did a plugin end up with a broken ELF note, and why are we shipping it?

Sep 15 2026, 2:26 PM
jrtc27 added a comment to D59689: riscv: Preserve savectx return address with vector support.

ping @jhb for mentor approval

Sep 15 2026, 1:45 PM
jrtc27 accepted D59689: riscv: Preserve savectx return address with vector support.
Sep 15 2026, 10:48 AM
jrtc27 requested changes to D59670: release: escape spaces in filenames with METALOG.

Um, yeah, if pkg produces a METALOG that is not readable by makefs, due to not escaping the whitespace, that's a bug in pkg to fix in pkg? And it's impossible to reliably escape at this point, because it is inherently ambiguous whether what comes after the space is a continuation of the path or a new key=value pair. So we really should not be trying to guesstimate what the correct METALOG entry is.

Sep 15 2026, 10:43 AM

Sep 3 2026

jrtc27 added inline comments to D59377: mkimg: Restore offset support for the SIZE partition form.
Sep 3 2026, 11:50 PM
jrtc27 added inline comments to D59377: mkimg: Restore offset support for the SIZE partition form.
Sep 3 2026, 11:45 PM

Sep 2 2026

jrtc27 added a comment to D59269: x86: add support for TLSDESC relocations.
In D59269#1360942, @kib wrote:

Regarding leaking, glibc does seem to store them in a hash table tied to link_map (i.e. Obj_Entry) so will free on dlclose, unlike our arm64 implementation. Linked list seems a bit unnecessarily slow, but at the same time extensive dynamic TLSDESC + dlclose is probably not common enough to actually benefit from something like a reallocarray-based storage.

The list is only traversed on dlclose() to free items, so I do not see it as causing any slowdown. In fact, where the hashed lookup would be useful?

Sep 2 2026, 12:46 AM
jrtc27 added inline comments to D59269: x86: add support for TLSDESC relocations.
Sep 2 2026, 12:37 AM
jrtc27 added a comment to D59269: x86: add support for TLSDESC relocations.

Regarding leaking, glibc does seem to store them in a hash table tied to link_map (i.e. Obj_Entry) so will free on dlclose, unlike our arm64 implementation. Linked list seems a bit unnecessarily slow, but at the same time extensive dynamic TLSDESC + dlclose is probably not common enough to actually benefit from something like a reallocarray-based storage.

Sep 2 2026, 12:32 AM
jrtc27 added a comment to D59269: x86: add support for TLSDESC relocations.

Looking at the glibc source, they do have an equivalent to the dtv_gen field, but the fast path check is whether the DTV's generation is >= that field, not ==. I think this is a time optimisation that avoids the need to access the global generation in order to do the check, instead just using a copy that's more to hand, and also lets you avoid taking the slow path for DTV entries that don't actually need it, even though the generation counter is ahead (e.g. if you dlopen A, use TLS for A, dlopen B, then use TLS for A again, you can still use the fast path, but ye olde __tls_get_addr doesn't know that, so will pessimistically update the DTV for B's load).

Sep 2 2026, 12:27 AM
jrtc27 added inline comments to D59269: x86: add support for TLSDESC relocations.
Sep 2 2026, 12:16 AM
jrtc27 added a comment to D59269: x86: add support for TLSDESC relocations.

I believe both to be true, yes (and have previously deduced the latter myself, too...)

Sep 2 2026, 12:01 AM

Aug 28 2026

jrtc27 accepted D59250: cat: add -A, -E and -T flags.

Minor nits on the implementation but looks functionally correct. Will defer to Alex and others for finessing the manpage.

Aug 28 2026, 4:13 PM

Aug 21 2026

jrtc27 added a comment to D59058: release: Use "debug info" for lib32 set description.

IMO it's fine to mix abbreviated and full forms of the same term (and I guess the mix-and-match "debugging info" and "debug information"); you wouldn't want the long form here as the dialog is quite small, but that's fine in prosaic text. But yes, the "data" ones should be converted over. Sometimes we also say "files", but that's also fine as it's talking about the files themselves not their contents (though one might argue they should be "debug(ging) info(rmation) files").

Aug 21 2026, 1:08 PM
jrtc27 added a comment to D59058: release: Use "debug info" for lib32 set description.

-g, -gline-tables-only, -gmodules

	    Control debug information output
Aug 21 2026, 12:45 PM

Aug 7 2026

jrtc27 committed rGa554906ea44c: bhyve: rtc_pl031: Fix PeriphID and CellID values (authored by kajetan.puchalski_arm.com).
Aug 7 2026, 1:09 PM

Aug 6 2026

jrtc27 committed rGf93ab5858523: link_elf: Make phdrs first page check actually fatal.
Aug 6 2026, 6:06 PM
jrtc27 committed rG1f62c6f0fc4a: Merge commit 6b0a46958c56 from llvm-project (by Piotr Kubaj):.
Aug 6 2026, 6:06 PM
jrtc27 committed rGaa3b76871e96: Merge commit 26bf39cdba0b from llvm-project (by Jessica Clarke):.
Aug 6 2026, 6:06 PM
jrtc27 committed rGf89b8493d7b2: Merge commit cbf48349e3e1 from llvm-project (by Jessica Clarke):.
Aug 6 2026, 6:06 PM
jrtc27 committed rG2705320b7c82: libllvmminimal: Fix building with LLVM < 21 on riscv64.
Aug 6 2026, 6:05 PM
jrtc27 committed rG6454c6e82590: lib/clang: Fix bootstrapping on macOS after LLVM 21 merge.
Aug 6 2026, 6:05 PM
jrtc27 committed rG9facb187c9aa: link_elf: Make phdrs first page check actually fatal.
Aug 6 2026, 6:04 PM
jrtc27 committed rGac26e70f96c0: Merge commit 6b0a46958c56 from llvm-project (by Piotr Kubaj):.
Aug 6 2026, 6:04 PM
jrtc27 committed rG310a5a993ac8: Merge commit 26bf39cdba0b from llvm-project (by Jessica Clarke):.
Aug 6 2026, 6:04 PM
jrtc27 committed rGbf61c2737559: Merge commit cbf48349e3e1 from llvm-project (by Jessica Clarke):.
Aug 6 2026, 6:04 PM
jrtc27 committed rG6184b31972ff: arm64/vmm: Fix vgic_v3 dropping EOI for disabled IRQs.
Aug 6 2026, 6:04 PM
jrtc27 committed rGb029b0d0e69c: arm64/vmm: Fix vgic_v3 copy paste error for writing to GICD_ICENABLERn.
Aug 6 2026, 6:04 PM
jrtc27 committed rG560cf46476e0: libllvmminimal: Fix building with LLVM < 21 on riscv64.
Aug 6 2026, 6:03 PM
jrtc27 committed rG52fcb9a9126e: lib/clang: Fix bootstrapping on macOS after LLVM 21 merge.
Aug 6 2026, 6:03 PM

Jul 31 2026

jrtc27 accepted D58558: libc: Reject static ELF exectables with PT_TLS segments were filesz > memsz.
Jul 31 2026, 3:11 PM

Jul 30 2026

jrtc27 accepted D58558: libc: Reject static ELF exectables with PT_TLS segments were filesz > memsz.

But LGTM aside from that

Jul 30 2026, 10:01 PM
jrtc27 added inline comments to D58558: libc: Reject static ELF exectables with PT_TLS segments were filesz > memsz.
Jul 30 2026, 9:59 PM
jrtc27 accepted D58550: amd64: try to fix the build with old clang that does not know about FRED.

Thanks

Jul 30 2026, 12:03 PM
jrtc27 added inline comments to D58550: amd64: try to fix the build with old clang that does not know about FRED.
Jul 30 2026, 11:36 AM
jrtc27 accepted D58550: amd64: try to fix the build with old clang that does not know about FRED.
Jul 30 2026, 11:18 AM
jrtc27 added a comment to D58550: amd64: try to fix the build with old clang that does not know about FRED.

Looks like phab mangled my tabs so the updated lines are all using spaces :(

Jul 30 2026, 10:58 AM
jrtc27 added inline comments to D58550: amd64: try to fix the build with old clang that does not know about FRED.
Jul 30 2026, 10:38 AM
jrtc27 accepted D58543: stand: Reject ELF files with PT_LOAD segments where filesz > memsz.
Jul 30 2026, 10:07 AM
jrtc27 accepted D58542: kld: Reject kernel modules with PT_LOAD segments where filesz > memsz.

I just used their email address for Reported by because given (a) the lack of history with the project (b) no trace of them existing anywhere else online (c) the low-quality suspicious nature of the patches (d) the name being one of *the* quintessential placeholders, I am suspicious as to whether it's their real name.

Jul 30 2026, 10:05 AM
jrtc27 accepted D58541: rtld: Reject ELF files with PT_LOAD or PT_TLS segments where filesz > memsz.

There's also lib/libc/gen/tls.c for PT_TLS

Jul 30 2026, 10:00 AM

Jul 29 2026

jrtc27 committed rG1e39a314d870: link_elf: Make phdrs first page check actually fatal.
Jul 29 2026, 2:12 PM
jrtc27 added a comment to D57788: link_elf: Program-header bounds check is non‑fatal (link_elf_load_file).

Fixed properly in 1e39a314d870e312f623199e146eda6bdbc293a3.

Jul 29 2026, 2:11 PM
jrtc27 requested changes to D57788: link_elf: Program-header bounds check is non‑fatal (link_elf_load_file).

I don't think you tested this.

Jul 29 2026, 2:04 PM

Jul 28 2026

jrtc27 committed rG70509d1d9cba: Merge commit 6b0a46958c56 from llvm-project (by Piotr Kubaj):.
Jul 28 2026, 11:55 AM

Jul 27 2026

jrtc27 committed rGb68f2fe1932c: Merge commit 26bf39cdba0b from llvm-project (by Jessica Clarke):.
Jul 27 2026, 4:57 PM
jrtc27 committed rGbcbcd7303009: Merge commit cbf48349e3e1 from llvm-project (by Jessica Clarke):.
Jul 27 2026, 4:56 PM
jrtc27 committed R11:180a2c830a89: lang/rust{,-bootstrap}, Mk/Uses/cargo.mk: Relax COMPAT_FREEBSD11 check.
Jul 27 2026, 10:31 AM
jrtc27 committed R11:6645f84b28dc: Mk/Uses/cargo.mk: Drop stray backslashes from DEV_ERROR/WARNING messages.
Jul 27 2026, 10:31 AM
jrtc27 committed R11:4dc0e9ac42ad: lang/rust{,-bootstrap}, Mk/Uses/cargo.mk: Relax COMPAT_FREEBSD11 check.
Jul 27 2026, 10:30 AM
jrtc27 committed R11:f6977b775285: Mk/Uses/cargo.mk: Drop stray backslashes from DEV_ERROR/WARNING messages.
Jul 27 2026, 10:30 AM

Jul 19 2026

jrtc27 added a comment to D58318: acpi: fix i386 build for bus_read_8 and bus_write_8.

D58301 seems a better alternative to this?

Jul 19 2026, 4:08 PM
jrtc27 added inline comments to D58333: libucl: Import libucl 0.9.4.
Jul 19 2026, 3:43 PM
jrtc27 added a comment to D58301: apei: Fix i386 build.

bus_read_8 has been replace to bus_space_read series in sys/bus.h.

Not sure what "bus_space_read series" is though, should that not be bus_space_read_8?

Sorry, it should be bus_space_{read,write} series.

But why series? I don't understand. Why not just use the _8 suffix everywhere?

The _8 suffix remains unchanged before and after my patch. The purpose of this change is to replace the original bus_ series with the bus_space_ series.

Ok, I think I now can decipher what you're trying to get at. What you're trying to say, I think, is something like the following?

bus_{read,write}_8 are macro wrappers around the corresponding bus_space functions in sys/bus.h, so implementing bus_{read,write}_8 won't work. Implement the underlying bus_space functions instead.

Yes, sorry about my bad english expression:)

Jul 19 2026, 3:30 PM
jrtc27 added a comment to D58301: apei: Fix i386 build.

bus_read_8 has been replace to bus_space_read series in sys/bus.h.

Not sure what "bus_space_read series" is though, should that not be bus_space_read_8?

Sorry, it should be bus_space_{read,write} series.

But why series? I don't understand. Why not just use the _8 suffix everywhere?

The _8 suffix remains unchanged before and after my patch. The purpose of this change is to replace the original bus_ series with the bus_space_ series.

Jul 19 2026, 2:55 PM
jrtc27 added a comment to D58301: apei: Fix i386 build.

bus_read_8 has been replace to bus_space_read series in sys/bus.h.

Not sure what "bus_space_read series" is though, should that not be bus_space_read_8?

Sorry, it should be bus_space_{read,write} series.

Jul 19 2026, 2:30 PM
jrtc27 added a comment to D58301: apei: Fix i386 build.

bus_read_8 has been replace to bus_space_read series in sys/bus.h.

Jul 19 2026, 2:17 PM
jrtc27 accepted D58301: apei: Fix i386 build.

Huh, I hadn't thought of doing it this way. This does seem like a better approach than D58318 and, assuming there's no concern about other code accidentally using these (which is no different to the intent of the existing bus_read_8/bus_write_8 stubbing), reintroducing the READ8/WRITE8 macros (whether called that or something else).

Jul 19 2026, 2:16 PM

Jul 18 2026

jrtc27 committed rG123dfd378959: arm64/vmm: Fix vgic_v3 dropping EOI for disabled IRQs.
Jul 18 2026, 12:13 AM
jrtc27 committed rG422a530c8008: arm64/vmm: Fix vgic_v3 copy paste error for writing to GICD_ICENABLERn.
Jul 18 2026, 12:13 AM

Jul 17 2026

jrtc27 added inline comments to D58208: hwpstate_intel: Fix i386 build.
Jul 17 2026, 1:31 PM

Jul 13 2026

jrtc27 committed R11:ef24c3da9913: graphics/jpeg-turbo: Apply upstream patch to fix riscv64.
Jul 13 2026, 6:24 PM
jrtc27 committed R11:23ed1126e58b: graphics/jpeg-turbo: Apply upstream patch to fix riscv64.
Jul 13 2026, 6:16 PM
jrtc27 added a comment to D58208: hwpstate_intel: Fix i386 build.

(But also happy with the current diff if you'd rather go with that)

Jul 13 2026, 10:38 AM
jrtc27 added inline comments to D58208: hwpstate_intel: Fix i386 build.
Jul 13 2026, 10:38 AM
jrtc27 committed rGf6ee1d20d368: kern_thread: Fix i386 p_emuldata KBI assertion.
Jul 13 2026, 3:04 AM