In article <20140914173906.a22b...@cvs.netbsd.org>,
NONAKA Kimihiro <source-changes-d@NetBSD.org> wrote:
>Module Name:   src
>Committed By:  nonaka
>Date:          Sun Sep 14 17:39:06 UTC 2014
>
>Modified Files:
>       src/sys/sys: bootblock.h
>
>Log Message:
>Avoid data abort at
>src/sys/dev/dkwedge/dkwedge_apple.c:swap_apple_drvr_descriptor() on
>zaurus.
>
>apple_drvr_map.sb_dd (struct apple_drvr_descriptor) isn't located in the
>address is 4 bytes alignment. Unaligned address is passed from
>dkwedge_apple.c:swap_apple_drvr_map to
>dkwedge_apple.c:swap_apple_drvr_descriptor(). data abort occurs when
>read 4 bytes from that address for read apple_drvr_descriptor.descBlock.

Perhaps it is better to memcpy the data to some aligned struct rather
than referencing it directly and making it packed (which is not portable).

christos

Reply via email to