Date: Wed, 15 May 2002 21:00:01 -0700 From: Kris Kennaway <kris@obsecurity.org> To: John Baldwin <jhb@FreeBSD.org> Cc: Kris Kennaway <kris@obsecurity.org>, Andrew Gallatin <gallatin@cs.duke.edu>, alpha@FreeBSD.org Subject: Re: memory management fault during netbooting on 4.6-PRERELEASE Message-ID: <20020515210001.A742@xor.obsecurity.org> In-Reply-To: <XFMail.20020515235535.jhb@FreeBSD.org>; from jhb@FreeBSD.org on Wed, May 15, 2002 at 11:55:35PM -0400 References: <20020515204816.B302@xor.obsecurity.org> <XFMail.20020515235535.jhb@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Wed, May 15, 2002 at 11:55:35PM -0400, John Baldwin wrote:
>
> On 16-May-2002 Kris Kennaway wrote:
> > On Wed, May 15, 2002 at 11:40:48PM -0400, John Baldwin wrote:
> >
> >> > (gdb) l *0xfffffc000056bcc0
> >> > No source file for address 0xfffffc000056bcc0.
> >>
> >> Ok, can you do a nm kernel.debug | sort | less and find the two
> >> symbols that that address falls between?
> >
> > fffffc000056bca0 t swi_net
> > fffffc000056bd20 T do_sir
>
> Ok, swi_net() looks like so (alpha/alpha/iplfuncs.c)
>
> static void
> swi_net()
> {
> u_int32_t bits = atomic_readandclear(&netisr);
> int i;
>
> for (i = 0; i < 32; i++) {
> if (bits & 1)
> netisrs[i]();
> bits >>= 1;
> }
> }
>
> My guess then is that we tried to execute a netisr() that was
> NULL. Is this reproducible?
Yes, it seems to be.
> If so, you could try adding a
> a hack to not execute the isr if it's null, i.e.:
>
> if ((bits & 1) != 0 && netisrs[i] != NULL)
> netisrs[i]();
Will try once the current alpha package build is finished. Are there
any other diagnostics I can add while I'm in there?
Kris
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)
iD8DBQE84y7BWry0BWjoQKURArraAKDudZzoFUh9ULGYvbi33SV6dQaYzwCfb8cb
43Ge6PAQMvEe/JxuaFhKLm4=
=TpvJ
-----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020515210001.A742>
