Subject: Re: alignment crash in v6 ipfilter when receiving on gif
To: Martin Husemann <martin@duskware.de>
From: Greg Troxel <gdt@ir.bbn.com>
List: port-sparc64
Date: 07/10/2007 08:45:17
--=-=-=


Martin Husemann <martin@duskware.de> writes:

> On Mon, Jul 09, 2007 at 03:02:21PM -0400, Greg Troxel wrote:
>> fr_makefrip+0xd74:  ldx [%12 + 0x18], %g
>
> Well, there is at least one typo here, and the address doesn't seem to match
> what is on the netbsd-4 branch right now - could you compile a netbsd.gdb

I have IPSEC enabled, so perhaps that's why.

> kernel from your unmodified source tree (add "makeoptions -g" to the config
> file, config and make the kernel) - and then check what source line this is
> in gdb, like "info line fr_makefrip+0xd74"?

gdb on netbsd-4 didn't like that info line command, but I compiled fil.o
with -S and matched up assembly and read the stabs and the offending
line is:

			ip6 = (ip6_t *)((char *)icmp6 + ICMPERR_ICMPHLEN);
			if (IP6_NEQ(&fin->fin_fi.fi_dst,
				    (i6addr_t *)&ip6->ip6_src))
				fin->fin_flx |= FI_BAD;

So I think it is faulting fetching the ip6 address from the enclosed packet.



--=-=-=
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (NetBSD)

iD8DBQFGk39d+vesoDJhHiURAhAFAJ9CRFqZkyUi45uPprT/9PHX5S+XoACgh6wK
R0VpdOIuYLlj5SsbZ7YDHyU=
=b2JU
-----END PGP SIGNATURE-----
--=-=-=--