On Wed, Jul 02 2014, David Laight <[email protected]> wrote:
> From: Michal Nazarewicz
> ...
>> > Alternatively it shouldn't be 'packed', and a full audit of the
>> > other structures done to determine which ones can ever be misaligned
>> > and then determine whether that should actually be allowed.
>> 
>> All of the structures describe a wire protocol, whether we thing the
>> structure can be allowed or not is inconsequential since that's what is
>> being used.  All of those structures must be packed.
>
> That just isn't true.
> Just because a structure maps a protocol packet doesn't mean it has
> to be 'packed'.
> The TCP stack doesn't mark anything 'packed'.
> It relies on the ethernet driver correctly aligning receive messages.

Unfortunately in USB even if the message is correctly aligned, the
fields in descriptors do not have to be.  Furthermore, descriptors are
stacked one after another and they rarely are multiply of four (or even
two) bytes.  usb_config_descriptor for example is 9 bytes.

-- 
Best regards,                                         _     _
.o. | Liege of Serenely Enlightened Majesty of      o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz    (o o)
ooo +--<[email protected]>--<xmpp:[email protected]>--ooO--(_)--Ooo--
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to