⬢ DragonFlyBSD Kernel Audit
DF-5228 / run.log
← back to finding ↓ download raw
DF5228: baseline v_free_count=827917 v_wire_count=158629 (chunk=1024KB x 8 cycles)
DF5228: cycle 0 done: v_free_count=827735 (deficit so far 182 pages) v_wire_count=158670 (surplus 41)
DF5228: cycle 1 done: v_free_count=827722 (deficit so far 195 pages) v_wire_count=158670 (surplus 41)
DF5228: cycle 2 done: v_free_count=827722 (deficit so far 195 pages) v_wire_count=158670 (surplus 41)
DF5228: cycle 3 done: v_free_count=827722 (deficit so far 195 pages) v_wire_count=158670 (surplus 41)
DF5228: cycle 4 done: v_free_count=827722 (deficit so far 195 pages) v_wire_count=158670 (surplus 41)
DF5228: cycle 5 done: v_free_count=827722 (deficit so far 195 pages) v_wire_count=158670 (surplus 41)
DF5228: cycle 6 done: v_free_count=827722 (deficit so far 195 pages) v_wire_count=158670 (surplus 41)
DF5228: cycle 7 done: v_free_count=827722 (deficit so far 195 pages) v_wire_count=158670 (surplus 41)
DF5228 RESULT: 8 cycles of alloc+free: free deficit=195 pages (expected leak 2048), wire surplus=41 (expected 2048)
DF5228: pmap_kextract(freed va fffff80119860000) = 0000000003900000 -> kernel PTE STILL VALID (ORPHANED) after dma_free_coherent
DF5228: control contigmalloc: free dropped 0
DF5228: control contigfree:   free now 827722 (baseline was 827722: baseline restored)
DF5228 VERDICT: not reproduced (deficit=195)
DF5228: baseline v_free_count=827064 v_wire_count=158745
DF5228: after free: pmap_kextract(va)=0000000003a00000 -> kernel PTE STILL VALID (ORPHANED)
DF5228: phys page state: wire_count=1 flags=00000808 (PG_FICTITIOUS=1) queue=0 -> page STILL WIRED (LEAKED)
DF5228: 30 cycles: v_free_count=827566 (net deficit -502 pages = -2MB)
DF5228: 60 cycles: v_free_count=827566 (net deficit -502 pages = -2MB)
DF5228: 90 cycles: v_free_count=813230 (net deficit 13834 pages = 54MB)
DF5228: 120 cycles: v_free_count=798382 (net deficit 28682 pages = 112MB)
DF5228 RESULT: 240 MB alloc+freed (120 cycles of 2048KB): v_free_count deficit=31754 pages (124MB), v_wire surplus=32200
DF5228: control 20 x contigmalloc/contigfree: free deficit=77 pages (expected 0)
DF5228 VERDICT: not reproduced
DF5228: baseline v_free_count=794664 v_wire_count=191035
DF5228: after free: pmap_kextract(va)=0000000018000000 -> kernel PTE STILL VALID (ORPHANED)
DF5228: phys page state: wire_count=1 flags=00000000 (PG_FICTITIOUS=0) queue=0 -> page STILL WIRED (LEAKED)
DF5228: 30 cycles: v_free_count=784453 (net deficit 10211 pages = 39MB)
DF5228: 60 cycles: v_free_count=765509 (net deficit 29155 pages = 113MB)
DF5228 RESULT: 120 MB alloc+freed (60 cycles of 2048KB): v_free_count deficit=30691 pages (119MB), v_wire surplus=31199
DF5228: control 20 x contigmalloc/contigfree: free deficit=0 pages (expected 0)
DF5228 VERDICT: REPRODUCED - dma_free_coherent orphaned the kernel PTE and never released the wired page; 120MB of alloc+free cycles (zero live allocations) permanently burned 119MB of free memory plus ~128MB of DMA-reserve capacity