I built a kernel without the random device and tried to use the
module. I loaded it from the bootloader and the machine panic'ed on boot:
Mounting root from ufs:/dev/da0a
da0 at sym0 bus 0 target 0 lun 0
da0: <SEAGATE ST39140W 1498> Fixed Direct Access SCSI-2 device
da0: 40.000MB/s transfers (20.000MHz, offset 15, 16bit), Tagged Queueing Enabled
da0: 8683MB (17783240 512 byte sectors: 255H 63S/T 1106C)
Entropy harvesti
fatal kernel trap:
trap entry = 0x2 (memory management fault)
a0 = 0xe8c77a27c5265710
a1 = 0x1
a2 = 0x0
pc = 0xfffffc000042f824
ra = 0xfffffc000042f830
curproc = 0xfffffe00058c24e0
pid = 34, comm = sysctl
Stopped at name2oid+0x104: ldq a1,0x28(s1) <0xe8c77a27c5265710>
name2oid() at name2oid+0x104
sysctl_sysctl_name2oid() at sysctl_sysctl_name2oid+0xd0
sysctl_root() at sysctl_root+0x16c
userland_sysctl() at userland_sysctl+0x1c0
__sysctl() at __sysctl+0xa4
syscall() at syscall+0x638
XentSys1() at XentSys1+0x10
db> reboot
Gdb says:
(gdb) l* 0xfffffc000042f824
0xfffffc000042f824 is in name2oid (../../kern/kern_sysctl.c:621).
616 *p = '\0';
617
618 oidp = SLIST_FIRST(lsp);
619
620 while (oidp && *len < CTL_MAXNAME) {
621 if (strcmp(name, oidp->oid_name)) {
622 oidp = SLIST_NEXT(oidp, oid_link);
623 continue;
624 }
625 *oid++ = oidp->oid_number;
When I boot into single user mode and try to load the module after boot, this happens:
Enter full pathname of shell or RETURN for /bin/sh:
# kldload random
panic: cpu_fork: curproc
syncing disks...
done
Uptime: 27s
------------------------------------------------------------------------------
Andrew Gallatin, Sr Systems Programmer http://www.cs.duke.edu/~gallatin
Duke University Email: [EMAIL PROTECTED]
Department of Computer Science Phone: (919) 660-6590
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message