USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c
authorAlan Stern <stern@rowland.harvard.edu>
Thu, 17 Mar 2022 20:39:10 +0000 (16:39 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 18 Mar 2022 11:54:24 +0000 (12:54 +0100)
commit1892bf90677abcad7f06e897e308f5c3e3618dd4
tree9232bf3e5165aa661a234cb192e04b1f4b6c17d1
parent6653b827613aa301de691842c38f01e874604f88
USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c

The kernel test robot found a problem with the ene_ub6250 subdriver in
usb-storage: It uses structures containing bitfields to represent
hardware bits in its SD_STATUS, MS_STATUS, and SM_STATUS bytes.  This
is not safe; it presumes a particular bit ordering and it assumes the
compiler will not insert padding, neither of which is guaranteed.

This patch fixes the problem by changing the structures to simple u8
values, with the bitfields replaced by bitmask constants.

CC: <stable@vger.kernel.org>
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Link: https://lore.kernel.org/r/YjOcbuU106UpJ/V8@rowland.harvard.edu
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/storage/ene_ub6250.c