[Bug 294369] powerpc64: panic in zfs_write() during buildworld
[email protected] Sun, 12 Jul 2026 17:28:14 +0000
| Newsgroups | gmane.os.freebsd.devel.ppc |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D294369 Jessica Clarke <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Assignee|[email protected] |[email protected] CC| |[email protected] Status|New |In Progress --- Comment #4 from Jessica Clarke <[email protected]> --- As discussed on IRC, I believe this is fixed by https://github.com/llvm/llvm-project/pull/207555. Looking at the "FreeBSD 16.0-CURRENT #0 main-n287202-759ce9a2b38e: Mon Jul 6 15:57:12 UTC 2026" snapshot: The kernel's pmap_remove_write ends up as an STT_FUNC symbol pointing at an IPLT (called .glink on PowerPC, but merged into .text by ldscript.powerpc*): 7479: 00000000001014a0 0 FUNC GLOBAL DEFAULT [<other: 0x60>] 2 pmap_remove_write 00000000001014a0 <pmap_remove_write>: 1014a0: 15 00 82 3d addis 12, 2, 21 1014a4: a0 7f 8c e9 ld 12, 32672(12) 1014a8: a6 03 89 7d mtctr 12 1014ac: 20 04 80 4e bctr update_pages in zfs.ko calls, via the (presumably inlined page_busy), pmap_remove_write: void update_pages(znode_t *zp, int64_t start, int len, objset_t *os) { ... if ((pp =3D page_busy(vp, start, off, nbytes)) !=3D NULL) { static vm_page_t page_busy(vnode_t *vp, int64_t start, int64_t off, int64_t nbytes) { ... pmap_remove_write(pp); This will resolve to the above IPLT entry, being called with page_busy's context, including presumably a TOC pointer for page_busy/zfs.ko, not the kernel. --=20 You are receiving this mail because: You are on the CC list for the bug.=