summaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
authorMichael Kelley <mikelley@microsoft.com>2022-06-07 20:49:37 -0700
committerWei Liu <wei.liu@kernel.org>2022-06-08 12:28:13 +0000
commitf5f93d7f5a5cbfef02609dead21e7056e83f4fab (patch)
tree627c0f6dc8a74f17ae0c043a29bbc4f4e5909794 /drivers/hid
parent245b993d8f6c4e25f19191edfbd8080b645e12b1 (diff)
downloadlinux-stable-f5f93d7f5a5cbfef02609dead21e7056e83f4fab.tar.gz
linux-stable-f5f93d7f5a5cbfef02609dead21e7056e83f4fab.tar.bz2
linux-stable-f5f93d7f5a5cbfef02609dead21e7056e83f4fab.zip
HID: hyperv: Correctly access fields declared as __le16
Add the use of le16_to_cpu() for fields declared as __le16. Because Hyper-V only runs in Little Endian mode, there's no actual bug. The change is made in the interest of general correctness in addition to making sparse happy. No functional change. Reported-by: kernel test robot <lkp@intel.com> Signed-off-by: Michael Kelley <mikelley@microsoft.com> Link: https://lore.kernel.org/r/1654660177-115463-1-git-send-email-mikelley@microsoft.com Signed-off-by: Wei Liu <wei.liu@kernel.org>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/hid-hyperv.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/hid/hid-hyperv.c b/drivers/hid/hid-hyperv.c
index 978ee2aab2d4..e0bc73124196 100644
--- a/drivers/hid/hid-hyperv.c
+++ b/drivers/hid/hid-hyperv.c
@@ -199,7 +199,8 @@ static void mousevsc_on_receive_device_info(struct mousevsc_dev *input_device,
if (!input_device->hid_desc)
goto cleanup;
- input_device->report_desc_size = desc->desc[0].wDescriptorLength;
+ input_device->report_desc_size = le16_to_cpu(
+ desc->desc[0].wDescriptorLength);
if (input_device->report_desc_size == 0) {
input_device->dev_info_status = -EINVAL;
goto cleanup;
@@ -217,7 +218,7 @@ static void mousevsc_on_receive_device_info(struct mousevsc_dev *input_device,
memcpy(input_device->report_desc,
((unsigned char *)desc) + desc->bLength,
- desc->desc[0].wDescriptorLength);
+ le16_to_cpu(desc->desc[0].wDescriptorLength));
/* Send the ack */
memset(&ack, 0, sizeof(struct mousevsc_prt_msg));