⬢ DragonFlyBSD Kernel Audit
DF-4594 / run.log
← back to finding ↓ download raw
+ date
Mon Sep 21 23:41:18 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
+ kldstat
+ grep -c vinum
0
+ true
+ kldload vinum
+ sleep 1
+ dd 'if=/tmp/label.bin' 'of=/dev/md0' 'bs=512' 'seek=1' 'conv=notrunc'
1+0 records in
1+0 records out
512 bytes transferred in 0.027571 secs (18570 bytes/sec)
+ sleep 1
+ ls /dev/md0s0a
/dev/md0s0a
+ vinum list
+ sleep 1
+ printf 'drive d1 device /dev/md0s0a\n'
+ printf 'sd name det1 drive d1 len 1m detached\n'
+ printf 'volume v0\nplex name p0 org concat\nsd name s0 drive d1 plex p0 len 1m\nsd name s1 drive d1 plex p0 len 1m\n'
+ vinum create -f /tmp/c1
1 drives:
D d1                    State: up	Device /dev/md0s0a	Avail: 9/9 MB (100%)

0 volumes:
0 plexes:
0 subdisks:
+ sleep 2
+ vinum create -f /tmp/c2
1 drives:
D d1                    State: up	Device /dev/md0s0a	Avail: 8/9 MB (89%)

0 volumes:
0 plexes:
1 subdisks:
S det1                  State: empty	(detached)	Size:       1024 kB
+ sleep 3
+ echo '==== DF-4592 evidence: det1 config line (plex-name field is heap bytes from before the plex[] array) ===='
==== DF-4592 evidence: det1 config line (plex-name field is heap bytes from before the plex[] array) ====
+ dd 'if=/dev/md0s0a' 'bs=512' 'skip=9' 'count=16'
+ grep det1
+ strings /tmp/line.bin
sd name det1 drive d1 plex  len 2048s driveoffset 265s state empty detached 
+ strings -t d /tmp/line.bin
+ grep det1
+ head -1
+ awk '{print $1}'
+ OFF=0
+ hexdump -C
+ dd 'if=/tmp/line.bin' 'bs=1' 'skip=20' 'count=48'
00000000  31 20 70 6c 65 78 20 20  6c 65 6e 20 32 30 34 38  |1 plex  len 2048|
00000010  73 20 64 72 69 76 65 6f  66 66 73 65 74 20 32 36  |s driveoffset 26|
00000020  35 73 20 73 74 61 74 65  20 65 6d 70 74 79 20 64  |5s state empty d|
00000030
+ vinum create -f /tmp/c3
1 drives:
D d1                    State: up	Device /dev/md0s0a	Avail: 6/9 MB (68%)

1 volumes:
V v0                    State: up	Plexes:       1	Size:       2048 kB

1 plexes:
P p0                  C State: up	Subdisks:     2	Size:       2048 kB

3 subdisks:
S det1                  State: empty	(detached)	Size:       1024 kB
S s0                    State: up	PO:        0  B Size:       1024 kB
S s1                    State: up	PO:     1024 kB Size:       1024 kB
+ sleep 3
+ echo '==== DF-4593 evidence: plex line (expect no " sd s0 sd s1" list) ===='
==== DF-4593 evidence: plex line (expect no " sd s0 sd s1" list) ====
+ dd 'if=/dev/md0s0a' 'bs=512' 'skip=9' 'count=16'
+ strings
+ grep ^plex
plex name p0 state up org concat vol v0 
+ grep -A1 plexes:
+ vinum l
1 plexes:
P p0                  C State: up	Subdisks:     2	Size:       2048 kB
+ dd 'if=/dev/zero' 'of=/tmp/plain.img' 'bs=1m' 'count=4'
4+0 records in
4+0 records out
4194304 bytes transferred in 0.014244 secs (294460900 bytes/sec)
+ vnconfig -c vn1 /tmp/plain.img
+ cc -O -o /tmp/stick /tmp/stick.c
+ dd 'if=/dev/md0s0a' 'bs=512' 'skip=8' 'count=1'
+ md5
+ A=8898f0fc6a9f114df03d5342df5d216f
+ vinum saveconfig
+ sleep 3
+ md5
+ dd 'if=/dev/md0s0a' 'bs=512' 'skip=8' 'count=1'
+ B=a7f08ec2908efe9ae7ef709ac668b152
+ echo '==== DF-4594 evidence: control save  8898f0fc6a9f114df03d5342df5d216f -> a7f08ec2908efe9ae7ef709ac668b152 ===='
==== DF-4594 evidence: control save  8898f0fc6a9f114df03d5342df5d216f -> a7f08ec2908efe9ae7ef709ac668b152 ====
+ /tmp/stick /dev/vn1
kernel replied: error=2 msg=no drives found
+ md5
+ dd 'if=/dev/md0s0a' 'bs=512' 'skip=8' 'count=1'
+ C=a7f08ec2908efe9ae7ef709ac668b152
+ vinum saveconfig
+ sleep 4
+ md5
+ dd 'if=/dev/md0s0a' 'bs=512' 'skip=8' 'count=1'
+ D=a7f08ec2908efe9ae7ef709ac668b152
+ echo '==== DF-4594 evidence: post-stick save a7f08ec2908efe9ae7ef709ac668b152 -> a7f08ec2908efe9ae7ef709ac668b152 (identical == saves wedged) ===='
==== DF-4594 evidence: post-stick save a7f08ec2908efe9ae7ef709ac668b152 -> a7f08ec2908efe9ae7ef709ac668b152 (identical == saves wedged) ====
+ tail -4
+ dmesg
vinumioctl: invalid ioctl from process 916 (stick): 40906468
vinum: no additional drives found
vinumioctl: invalid ioctl from process 920 (vinum): 40906468
vinumioctl: invalid ioctl from process 921 (vinum): 40906468