HID: nvidia-shield: Pack inner/related declarations in HOSTCMD reports
authorRahul Rameshbabu <rrameshbabu@nvidia.com>
Wed, 5 Jul 2023 06:04:14 +0000 (23:04 -0700)
committerBenjamin Tissoires <bentiss@kernel.org>
Sun, 9 Jul 2023 10:47:58 +0000 (12:47 +0200)
commit8bcf314b92ed923019206e0dbf198980f15a70e0
tree603526eac3f7bea0ce2e344976c646602560e41d
parent5f151364b1da6bd217632fd4ee8cc24eaf66a497
HID: nvidia-shield: Pack inner/related declarations in HOSTCMD reports

Match alignment information in composite type declarations used by packed
HOSTCMD report structures. Compiler packing attribute is not recursive for
inner declarations. Mismatched alignment information can cause undefined
behavior in code generated for accessing composite type members. struct
pointers passed to thunderstrike_parse_board_info_payload and
thunderstrike_parse_haptics_payload are an example of this being
potentially problematic since alignment information from the packed HOSTCMD
report is lost.

Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202307041500.6bKn7nCl-lkp@intel.com/
Link: https://github.com/llvm/llvm-project/issues/55520#issuecomment-1128617570
Link: https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Common-Type-Attributes.html#index-packed-type-attribute
Signed-off-by: Rahul Rameshbabu <rrameshbabu@nvidia.com>
Link: https://lore.kernel.org/r/20230705060414.581468-1-rrameshbabu@nvidia.com
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
drivers/hid/hid-nvidia-shield.c