Hello all,
I have a kernel page fault in OpenBSD 5.6 100% reproducible (I think I
can reproduce it in older versions too).
I've created an OpenBSD installation in Linux through kvm on a 1GB hard
disk with just a root partition (a), by booting the install56.iso cdrom
with a command like this:
kvm -smp 1 -m 2048 -boot d -drive \
file=/dev/images/openbsd-5.6,format=raw,cache=none,if=virtio -cdrom
/tmp/install56.iso -vnc :0
The system boots fine with a command like this:
kvm -m 2048 -drive file=/dev/images/openbsd,format=raw,cache=none,if=virtio
If I then copy it into a 100GB volume:
dd if=/dev/images/openbsd of=/dev/images/tmp1 bs=4M
And try to boot it, it still boots fine. I then boot into the VM's
rescue disk:
> boot bsd.rd
and press S to get a shell
I mount the root partition and grab growfs program:
# mount /dev/sd0a /mnt
# cp /mnt/sbin/growfs .
# umount /mnt
Fix the MBR to use the entire disk:
# fdisk -i wd0
And change the disklabel:
disklabel -E sd0
Change the OpenBSD boundaries to cover the whole disk:
> b
Starting sector: [64]
Size ('*' for entire disk):[] *
and then grow the root partition to make it 100GB log:
> c
partition to change size: [] a
Then grow the underlying FFS file system:
growfs /dev/sd0a
If I then reboot, the ffs driver crashes with errors like this:
uvm_fault(0xffffffff81dcddc0, 0xc000068, 0, 2) -> e
kernel: page fault trap, code=0
Stopped at ffs_vget+0x115: addb %al, 0(%rcx,%rax,1)
ddb>
Am I missing something or is this a kernel/growfs bug?
Nikos Skalkotos