Subject: CVS commit: src/sys/dist/ipf/netinet
To: None <source-changes@NetBSD.org>
From: Greg Troxel <gdt@netbsd.org>
List: source-changes
Date: 07/19/2007 14:04:34
Module Name:	src
Committed By:	gdt
Date:		Thu Jul 19 14:04:34 UTC 2007

Modified Files:
	src/sys/dist/ipf/netinet: fil.c ip_fil.h

Log Message:
Avoid casting to "i6addr_t *", because that type requires 64-bit
alignment and nothing guarantees that IPv6 packets in mbufs are 8-byte
aligned.  gcc was coalescing adjacent 32-bit compares into "ldx" on
sparc64, leading to alignment faults when processing icmp6 arriving on
gif with IPv4 outer addresses.

Fix mostly from darrenr@.  Discussed extensively on port-sparc64.


To generate a diff of this commit:
cvs rdiff -r1.38 -r1.39 src/sys/dist/ipf/netinet/fil.c
cvs rdiff -r1.13 -r1.14 src/sys/dist/ipf/netinet/ip_fil.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.