⬢ DragonFlyBSD Kernel Audit
DF-3145 / run.log
← back to finding ↓ download raw
===== DF-3145: hpfs_cpinit cpdblk leak on failed mounts (live run)
vnconfig -c -S 8m /dev/vn1 /root/w/hpfs_err.img  (sp_cpinum=0x4000, sp_cpi=0x40000)
baseline vmstat -m: no HPFS line (hpfs module not yet loaded)
50 x mount_hpfs -o ro /dev/vn1 /mnt/df3145   -> mount attempts=50 failed=50
(every attempt fails in hpfs_cpinit: bread of the far-past-EOF cpisec errors;
 hpfs_subr.c:286 returns without kfree of hpm_cpdblk)
after:
         HPFS_hash       1    1.00M       0    390M        1
         HPFS_mount    100    106M       0    390M      200
                                      ^^^ 100 in-use allocations, ~106 MiB,
                                          200 requests, ZERO frees
(~2 MiB of cpdblk leaked per failed mount = 16384 * sizeof(struct cpdblk),
 plus the small hpmp mount struct, the DF-0889 family leak)
DONE-DF3145