lkml.org 
[lkml]   [2011]   [Feb]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [PATCH v2 2/5] firmware: Basic dmi-sysfs support
On Wed, Feb 23, 2011 at 11:43 AM, Tony Luck <tony.luck@intel.com> wrote:
> On Tue, Feb 22, 2011 at 5:53 PM, Mike Waychison <mikew@google.com> wrote:
>> +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).
[unhandled content-type:application/octet-stream]
\
 
 \ /
  Last update: 2011-02-23 21:31    [from the cache]
©2003-2014 Jasper Spaans. Advertise on this site