On Wed, Feb 23, 2011 at 12:28 PM, Mike Waychison <[email protected]> wrote:
> Ya, I don't think there is anything that guarantees that dmi_header is
> aligned.   The access is probably the struct copy I did here:
>
>        /* Set the key */
>        entry->dh = *dh;

Yup - looking back at the assembly I see that one of the 2-byte
accesses is offset 2
(picking up ->handle), but the second is offset 0 (picking up ->type
and ->length). The
compiler assumed the structure was 2-byte aligned because of ->handle.

> What if we changed that guy to use memcpy?  We'd probably need to
> memcpy the dmi_system_event_log as well.  Patch attached (applies on
> top of the entire patchset).

With the patch, all the unaligned accesses go away.

Tested-by: Tony Luck <[email protected]>

-Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-api" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to