DF-5450 / run.log
DF-5450 run.log โ baseline (unpatched kernel), post-reset boot, single kldload Guest: DragonFly 6.5-DEVELOPMENT #0 X86_64_GENERIC (INVARIANTS), QEMU/KVM Command: kldload /root/poc/nxmap/nxmap.ko; dmesg | grep -E "nxmap|DF-5450" nxmap0: <nexus activate idempotence PoC> on motherboard DF-5450: err2ndact=0 vaddr1=0xffffffff82601000 vaddr2=0xffffffff82602000 same_phys=YES DF-5450: err2ndact=0 vaddr1=0xffffffff82601000 vaddr2=0xffffffff82611000 same_phys=YES DF-5450: kernel_map size before=3669962752 after2nd=3670028288 afterrelease=3670028288 (leaked pages: 16) DF-5450: orphan vaddr1 read after full release: 0 (stale RW PTE still present: YES) Reading of the output: - line 2: cycle 0 โ second bus_activate_resource() returned 0 (rman idempotence) and produced a SECOND kernel mapping (vaddr2) for the same physical page (same_phys=YES: both map 0xE0000000). - line 3: final summary โ after 16 alloc/activate/release cycles the last vaddr2 is exactly 0x10000 (16 pages) above the first vaddr1: each cycle strands exactly one page. - line 4: kernel_map->size: +65536 bytes after all resources were fully released = 16 pages permanently leaked from kernel_map. - line 5: after bus_release_resource() of every resource, the FIRST mapping (vaddr1=0xffffffff82601000) is still dereferenceable โ a stale RW PTE mapping physical MMIO 0xE0000000 remains in kernel_pmap forever. run.2.log records the first (pre-reset) single-shot run with identical vaddr1 != vaddr2 / +1-page / stale-PTE results.