On Mon, Jul 22, 2019 at 08:08:33AM +0900, James Bottomley wrote: > On Mon, 2019-07-22 at 00:52 +0300, Alexey Dobriyan wrote: > > Each and every 1-byte access is aligned! > > The design idea of this is for parsing descriptors. We simply chunk up > the describing structure using get_unaligned for everything. The > reason is because a lot of these structures come with reserved areas > which we may make use of later. If we're using get_unaligned for > everything we can simply change a u8 to a u16 in the structure > absorbing the reserved padding. With your change now I'd have to chase > down every byte access and replace it with get_unaligned instead of > simply changing the structure. > > What's the significant advantage of this change that compensates for > the problems the above causes? HW descriptors have fixed endianness, you're supposed to use get_unaligned_be32() and friends. For that matter, drivers/scsi/ has exactly 2 get_unaligned() calls one of which can be changed to get_unaligned_be32().