Xin Zhao
ea427a222d
HID: core: Fix deadloop in hid_apply_multiplier.
...
The initial value of hid->collection[].parent_idx if 0. When
Report descriptor doesn't contain "HID Collection", the value
remains as 0.
In the meanwhile, when the Report descriptor fullfill
all following conditions, it will trigger hid_apply_multiplier
function call.
1. Usage page is Generic Desktop Ctrls (0x01)
2. Usage is RESOLUTION_MULTIPLIER (0x48)
3. Contain any FEATURE items
The while loop in hid_apply_multiplier will search the top-most
collection by searching parent_idx == -1. Because all parent_idx
is 0. The loop will run forever.
There is a Report Descriptor triggerring the deadloop
0x05, 0x01, // Usage Page (Generic Desktop Ctrls)
0x09, 0x48, // Usage (0x48)
0x95, 0x01, // Report Count (1)
0x75, 0x08, // Report Size (8)
0xB1, 0x01, // Feature
Signed-off-by: Xin Zhao <xnzhao@google.com >
Link: https://lore.kernel.org/r/20230130212947.1315941-1-xnzhao@google.com
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com >
2023-02-06 10:57:27 +01:00
..
2023-01-06 16:06:05 +01:00
2022-12-13 13:32:56 -08:00
2023-01-02 13:50:14 +01:00
2022-06-13 17:25:08 +02:00
2022-08-25 11:44:27 +02:00
2022-06-15 15:51:46 +02:00
2021-05-05 14:29:13 +02:00
2022-11-21 22:17:10 +01:00
2022-11-14 23:46:20 +01:00
2022-11-02 14:11:06 +01:00
2023-01-18 16:34:35 +01:00
2023-01-17 13:09:59 +01:00
2021-12-02 15:36:18 +01:00
2021-07-28 11:51:07 +02:00
2023-02-06 10:57:27 +01:00
2021-12-02 15:36:18 +01:00
2021-10-07 13:37:25 +02:00
2022-06-09 10:55:46 +02:00
2020-10-23 13:23:44 +02:00
2022-11-22 17:50:36 -08:00
2022-11-21 22:17:10 +01:00
2023-01-20 18:44:10 +01:00
2022-02-17 14:14:41 +01:00
2022-11-11 11:09:36 +01:00
2022-08-25 11:37:21 +02:00
2021-05-27 15:40:34 +02:00
2021-12-02 15:36:18 +01:00
2021-12-20 11:25:42 +01:00
2022-12-13 14:32:07 +01:00
2023-01-25 15:44:46 +01:00
2023-01-25 15:44:46 +01:00
2022-11-14 23:55:12 +01:00
2022-05-11 14:19:27 +02:00
2022-04-21 10:28:49 +02:00
2022-10-18 14:43:59 +02:00
2022-01-06 14:22:51 +01:00
2022-11-14 23:56:52 +01:00
2022-07-21 13:47:12 +02:00
2021-12-02 15:36:18 +01:00
2022-02-16 16:26:21 +01:00
2022-12-19 12:06:44 +01:00
2020-08-17 11:38:49 +02:00
2022-10-14 10:47:50 +01:00
2022-12-19 13:12:24 +01:00
2022-05-06 08:29:26 +02:00
2020-11-25 14:30:33 +01:00
2020-09-02 12:55:46 -07:00
2022-12-20 15:34:16 +01:00
2022-09-21 13:25:26 +01:00
2020-09-03 16:18:55 +02:00
2021-04-07 18:46:20 +02:00
2022-05-03 16:04:22 +02:00
2022-12-20 15:35:21 +01:00
2023-01-18 10:10:58 +01:00
2021-12-02 15:36:18 +01:00
2022-09-20 11:36:21 +01:00
2023-01-20 18:44:10 +01:00
2022-02-16 17:12:14 +01:00
2022-11-21 18:56:20 +01:00
2021-12-02 15:36:18 +01:00
2021-12-02 15:36:18 +01:00
2021-12-02 15:36:18 +01:00
2021-09-25 08:20:48 -07:00
2021-12-02 15:36:18 +01:00
2021-12-02 15:36:18 +01:00
2021-12-02 15:36:18 +01:00
2021-12-02 15:36:18 +01:00
2021-12-02 15:36:18 +01:00
2021-12-02 15:36:18 +01:00
2021-12-02 15:36:18 +01:00
2022-09-20 14:49:15 +02:00
2022-10-18 14:42:45 +02:00
2021-12-02 15:36:18 +01:00
2021-05-05 14:21:08 +02:00
2022-11-21 22:13:40 +01:00
2021-05-05 14:36:18 +02:00
2022-02-02 15:12:22 +01:00
2022-12-20 15:37:52 +01:00
2022-10-05 10:19:06 +01:00
2022-08-25 11:38:55 +02:00
2021-12-14 10:50:23 +01:00
2022-09-20 12:16:25 +01:00
2021-12-02 15:35:57 +01:00
2023-01-18 09:43:32 +01:00
2022-11-14 15:03:48 +01:00
2023-01-18 09:43:32 +01:00
2022-08-25 10:26:31 +02:00
2022-11-14 15:03:48 +01:00
2022-12-13 14:42:10 +01:00
2022-11-04 15:53:25 +01:00
2020-07-20 12:24:41 +02:00
2022-05-11 14:19:27 +02:00
2022-08-25 11:37:21 +02:00
2022-08-25 11:37:21 +02:00
2022-08-25 11:37:21 +02:00
2022-09-20 11:35:00 +01:00
2022-11-04 09:57:16 +01:00
2022-11-04 09:57:16 +01:00
2022-11-04 09:57:16 +01:00
2021-09-22 11:53:07 +02:00
2022-08-25 11:30:50 +02:00
2022-12-19 13:18:02 +01:00
2022-10-05 10:34:48 +01:00
2022-02-25 09:36:06 +01:00
2022-12-20 15:29:10 +01:00
2022-12-20 15:29:10 +01:00
2022-12-20 15:29:10 +01:00
2022-08-25 11:32:31 +02:00