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    [W:0.023 / U:33.004 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site