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

From
Mike Waychison <hidden>
Date
2011-02-23 20:29:12
Also in
lkml
Reply to
Tony Luck, 2011-02-23
On Wed, Feb 23, 2011 at 11:43 AM, Tony Luck [off-list ref] wrote:
On Tue, Feb 22, 2011 at 5:53 PM, Mike Waychison [off-list ref] wrote:
quoted
+static void __init dmi_sysfs_register_handle(const struct dmi_header *dh,
+                                            void *_ret)
+{
I'm seeing some unaligned references from this function
on ia64.  Code is loading a 2-byte value from an odd
address. We are dereferencing "dh", so looking at the
dmi_header definition, I'd have thought that we must
be touching dh->handle:

struct dmi_header {
       u8 type;
       u8 length;
       u16 handle;
};

I don't see any code in this function that does this,
so I assume there is some inlining or macro stuff
happening.
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;

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).

Attachments

Thread (14 messages) 14 messages, 3 authors, last reply 2011-02-25
Keyboard shortcuts
hback out one level
jnext message in thread / next series-diff position
kprevious message in thread / previous series-diff position
ldrill in
Escclose help / fold thread tree
?toggle this help