⬢ DragonFlyBSD Kernel Audit
DF-2309 / exhaust.log
← back to finding ↓ download raw
DF-2309 exhaustion probe -- TRANSCRIPT CAPTURE from guest instance 1
(202-iteration run executed ~23:0x UTC against the PATCHED iic.ko still
loaded after Phase B; demonstrates the fix holds under a further 200
failing-copyin calls ~= 160 MB of would-be leak. Captured verbatim from
the ssh session; the canonical re-run on guest instance 2 reproduced
phases A/B with identical results. The stock-code exhaustion PANIC was
executed afterwards on a reverted+rebuilt stock iic.ko on instance 1 --
see panic.txt for the serial capture.)

DF-2309 usrbufs leak loop: nmsgs=100000 iters=200
per-call leak if real: 800000 bytes; total if real: 152.6 MB
start: v_free_count=767202 (2996.9 MB free)
iter 1     faults=1 v_free_count=767202 (delta_from_start=+0 pages = 0.0 MB consumed)
iter 25    faults=25 v_free_count=766282 (delta_from_start=-920 pages = 3.6 MB consumed)
iter 50    faults=50 v_free_count=766478 (delta_from_start=-724 pages = 2.8 MB consumed)
iter 75    faults=75 v_free_count=766478 (delta_from_start=-724 pages = 2.8 MB consumed)
iter 100   faults=100 v_free_count=766862 (delta_from_start=-340 pages = 1.3 MB consumed)
iter 125   faults=125 v_free_count=766478 (delta_from_start=-724 pages = 2.8 MB consumed)
iter 150   faults=150 v_free_count=766478 (delta_from_start=-724 pages = 2.8 MB consumed)
iter 175   faults=175 v_free_count=766478 (delta_from_start=-724 pages = 2.8 MB consumed)
iter 200   faults=200 v_free_count=766606 (delta_from_start=-596 pages = 2.3 MB consumed)

end:   v_free_count=766606 consumed=596 pages = 2.3 MB
expected if leak real: 152.6 MB; expected if fixed: ~0 MB
faults=200/200
               temp     799    253M       0    390M    29.7K
no usrbufleak process (exited)
GUEST-ALIVE