⬢ DragonFlyBSD Kernel Audit
DF-4760 / df4760_run.log
← back to finding ↓ download raw
+ date
Wed Sep 23 10:22:50 UTC 2026
+ uname -a
DragonFly dfbsd 6.5-DEVELOPMENT DragonFly 6.5-DEVELOPMENT #0: Thu Jul  2 06:02:54 UTC 2026     root@dfbsd:/usr/obj/usr/src/sys/X86_64_GENERIC  x86_64
+ kldload vinum
kldload: can't load vinum: module already loaded or in kernel
+ sleep 1
+ cc -O -o /tmp/hold_daemon /tmp/hold_daemon.c
+ vmstat -m
+ HPID=995
+ sleep 2
+ /tmp/hold_daemon 40
+ vmstat -m
+ date
Wed Sep 23 10:22:53 UTC 2026
+ UPID=999
+ sleep 5
+ kldunload vinum
+ echo '==== ps of kldunload while holder still open (expect STAT S*, wchan vstop) ===='
==== ps of kldunload while holder still open (expect STAT S*, wchan vstop) ====
+ ps -o pid,stat,wchan,command -p 999
   PID STAT   WCHAN    COMMAND
   999 D1     vstop    kldunload vinum
+ vmstat -m
+ sleep 10
+ echo '==== 15 s into the hang ===='
==== 15 s into the hang ====
+ ps -o pid,stat,wchan,command -p 999
   PID STAT   WCHAN    COMMAND
+ echo 'kldunload already gone (NOT expected)'
kldunload already gone (NOT expected)
+ vmstat -m
+ sleep 10
+ echo '==== 25 s into the hang ===='
==== 25 s into the hang ====
+ ps -o pid,stat,wchan,command -p 999
   PID STAT   WCHAN    COMMAND
+ echo 'kldunload already gone (NOT expected)'
kldunload already gone (NOT expected)
+ vmstat -m
+ echo '==== waiting for holder to close (t=42) and kldunload to finish ===='
==== waiting for holder to close (t=42) and kldunload to finish ====
+ wait 999
+ echo 'KLDUNLOAD_RC=0'
KLDUNLOAD_RC=0
+ vmstat -m
+ echo '==== module state after ===='
==== module state after ====
+ kldstat
+ grep -i vinum
+ echo 'vinum module gone (unloaded after close)'
vinum module gone (unloaded after close)
+ echo '==== devbuf in-use (KB) timeline: m0 baseline, m1 pre-unload, m2 +7s, m3 +17s, m4 +27s, m5 post-close ===='
==== devbuf in-use (KB) timeline: m0 baseline, m1 pre-unload, m2 +7s, m3 +17s, m4 +27s, m5 post-close ====
+ grep -i devbuf /tmp/m0 /tmp/m1 /tmp/m2 /tmp/m3 /tmp/m4 /tmp/m5
/tmp/m0:             devbuf     219    217K       0    390M      249
/tmp/m1:             devbuf     219    217K       0    390M      249
/tmp/m2:             devbuf   2.07K    262K       0    390M    2.10K
/tmp/m3:             devbuf   2.07K    262K       0    390M    2.10K
/tmp/m4:             devbuf   2.07K    262K       0    390M    2.10K
/tmp/m5:             devbuf   2.07K    262K       0    390M    2.10K
+ cat /tmp/holder.log
[holder] opened /dev/vinum/controld fd=3 (VF_DAEMONOPEN set); holding for 40s
[holder] closing now - free_vinum loop should exit
[holder] done