[PATCH] Fix hid_device_id for cross compiling - Kernel

This is a discussion on [PATCH] Fix hid_device_id for cross compiling - Kernel ; struct hid_device_id contains hidden padding which is bad for cross compiling. Make the padding explicit and consistent across architectures. Signed-off-by: Andreas Schwab --- diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h index eb71b45..0e4f303 100644 --- a/include/linux/mod_devicetable.h +++ b/include/linux/mod_devicetable.h @@ -135,6 +135,7 @@ struct usb_device_id ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: [PATCH] Fix hid_device_id for cross compiling

  1. [PATCH] Fix hid_device_id for cross compiling

    struct hid_device_id contains hidden padding which is bad for cross
    compiling. Make the padding explicit and consistent across
    architectures.

    Signed-off-by: Andreas Schwab
    ---
    diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
    index eb71b45..0e4f303 100644
    --- a/include/linux/mod_devicetable.h
    +++ b/include/linux/mod_devicetable.h
    @@ -135,6 +135,7 @@ struct usb_device_id {

    struct hid_device_id {
    __u16 bus;
    + __u16 pad1;
    __u32 vendor;
    __u32 product;
    kernel_ulong_t driver_data

    --
    Andreas Schwab, SuSE Labs, schwab@suse.de
    SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
    PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
    "And now for something completely different."
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: [PATCH] Fix hid_device_id for cross compiling

    On Sun, 26 Oct 2008 00:30:18 +0200 Andreas Schwab wrote:

    > struct hid_device_id contains hidden padding which is bad for cross
    > compiling. Make the padding explicit and consistent across
    > architectures.
    >


    What is "bad" about it? Can you expand a bit on the problem which is
    being fixed here? Before-and-after user-visible behaviour?

    Thanks.

    > ---
    > diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
    > index eb71b45..0e4f303 100644
    > --- a/include/linux/mod_devicetable.h
    > +++ b/include/linux/mod_devicetable.h
    > @@ -135,6 +135,7 @@ struct usb_device_id {
    >
    > struct hid_device_id {
    > __u16 bus;
    > + __u16 pad1;
    > __u32 vendor;
    > __u32 product;
    > kernel_ulong_t driver_data


    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: [PATCH] Fix hid_device_id for cross compiling

    Andrew Morton writes:

    > On Sun, 26 Oct 2008 00:30:18 +0200 Andreas Schwab wrote:
    >
    >> struct hid_device_id contains hidden padding which is bad for cross
    >> compiling. Make the padding explicit and consistent across
    >> architectures.
    >>

    >
    > What is "bad" about it?


    It is bad because it depends on the alignment restrictions of the
    architecture. On m68k everything is aligned on a 2-byte boundary, so
    this padding does not exist.

    > Can you expand a bit on the problem which is being fixed here?


    It's the well known cross compiling problem with modpost that has bitten
    us so often before. This one is even worse, because modpost would
    silently read bogus values since the struct size is the same, only the
    padding moves elsewhere.

    Andreas.

    --
    Andreas Schwab, SuSE Labs, schwab@suse.de
    SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
    PGP key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5
    "And now for something completely different."
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread