crash when bringing up fddi interface
Wilko Bulte
wkb at freebie.xs4all.nl
Fri Aug 1 12:14:53 PDT 2003
I added a DEC DEFPA PCI FDDI card to my Alpha.
When ifconfig fpa0 <foo> I am greeted by the following
panic:
fatal kernel trap:
trap entry = 0x2 (memory management fault)
cpuid = 2
faulting va = 0x53c443f8000091b8
type = access violation
cause = load instructon
pc = 0xfffffc00004addc8
ra = 0xfffffc00004ad3ac
sp = 0xfffffe0039dfd970
usp = 0x11fffa70
curthread = 0xfffffc0006acba20
pid = 571, comm = ifconfig
Stopped at rt_maskedcopy+0x18: ldq_u t0,0(a2)
<0x53c443f8000091b8>
<t0=0x0,a2=0x53c443f8000091b8>
db> tb
No such command
db> bt
No such command
db> tsa^H ^H^H ^Hrace
rt_maskedcopy() at rt_maskedcopy+0x18
rtrequest1() at rtrequest1+0x39c
rtinit() at rtinit+0x250
in_ifinit() at in_ifinit+0x6d4
in_control() at in_control+0x918
ifioctl() at ifioctl+0x2b4
soo_ioctl() at soo_ioctl+0x290
ioctl() at ioctl+0x750
syscall() at syscall+0x3b8
XentSys() at XentSys+0x64
--- syscall (54, FreeBSD ELF64, ioctl) ---
--- user mode ---
db>
So, something appears to go wrong in:
static void
rt_maskedcopy(src, dst, netmask)
struct sockaddr *src, *dst, *netmask;
{
register u_char *cp1 = (u_char *)src;
register u_char *cp2 = (u_char *)dst;
register u_char *cp3 = (u_char *)netmask;
u_char *cplim = cp2 + *cp3;
u_char *cplim2 = cp2 + *cp1;
*cp2++ = *cp1++; *cp2++ = *cp1++; /* copies sa_len & sa_family */
cp3 += 2;
if (cplim > cplim2)
cplim = cplim2;
while (cp2 < cplim)
*cp2++ = *cp1++ & *cp3++;
if (cp2 < cplim2)
bzero((caddr_t)cp2, (unsigned)(cplim2 - cp2));
}
My other DEFPA lives in a BP6 x86 box and is not panicing.
Suggestions?
W/
--
| / o / /_ _ wilko at FreeBSD.org
|/|/ / / /( (_) Bulte
More information about the freebsd-current
mailing list