# Re: \[PATCH v2 2/5\] firmware: Basic dmi-sysfs support

- From: Tony Luck \<hidden\>
- Date: 2011-02-23 21:29:49 
- List: linux-api
- Page: https://ratatoskr.run/linux-api/2011/02/3682041
- Thread: https://ratatoskr.run/linux-api/2011/02/3681559/t.md

```text
On Wed, Feb 23, 2011 at 12:28 PM, Mike Waychison [ref] 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 <redacted>

-Tony
```
