page fault in ugenpoll()

Dirk Gouders gouders at et.bocholt.fh-ge.de
Thu May 19 12:11:46 GMT 2005


Hello,

on a machine

FreeBSD karga.hank.home 4.11-STABLE FreeBSD 4.11-STABLE #2: Thu May 19 12:32:50 CEST 2005     root at karga.hank.home:/usr/src/sys/compile/KARGA  i386

I am playing with a Cryptoflex e-gate USB token and get kernel
panics when invoking a program openct-control to access it:

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x3
fault code              = supervisor read, page not present
instruction pointer     = 0x8:0xc027177b
stack pointer           = 0x10:0xccde7d40
frame pointer           = 0x10:0xccde7d50
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 173 (ifdhandler)
interrupt mask          = bio 
trap number             = 12
panic: page fault

The IP points to the following line in the function ugenpoll (line
1445 in ugen.c):

switch (sce->edesc->bmAttributes & UE_XFERTYPE)

Examining sce with gdb gives:

(kgdb) print sce
$1 = (struct ugen_endpoint *) 0x68c060
(kgdb) print sce->edesc
Cannot access memory at address 0x68c064.
(kgdb) 

The software that I am trying to use might be erroneous, but I am
wondering that it causes kernel panics by accessing /dev/ugen0.

Dirk


More information about the freebsd-hackers mailing list