Pengpeng Hou
70e76e700f
hwmon: occ: validate poll response sensor blocks
...
The OCC poll response parser walks a counted list of sensor data blocks.
It used the static backing-array capacity as the parse boundary, but a
transport response makes only data_length bytes current and valid. A
truncated response can therefore make the parser consume a block header or
block extent outside the current response.
Use data_length as the parent boundary, prove the fixed poll header and
each current block header before reading them, and prove the complete block
before advancing. Keep parsed sensor metadata local until the complete
response has passed validation, then publish it. Propagate
malformed-response errors before publishing the OCC as active.
Fixes: aa195fe49b ("hwmon (occ): Parse OCC poll response")
Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn >
Link: https://lore.kernel.org/r/20260720115826.14813-1-pengpeng@iscas.ac.cn
Signed-off-by: Guenter Roeck <linux@roeck-us.net >
2026-07-20 07:29:44 -07:00
..
2026-07-20 07:29:44 -07:00
2026-03-24 07:55:34 -07:00
2026-07-19 07:15:00 -07:00
2024-11-10 14:48:07 -08:00
2024-11-10 14:48:07 -08:00
2026-05-12 11:32:25 -07:00
2025-03-02 08:42:01 -08:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:57 -07:00
2025-10-17 07:18:06 -07:00
2022-09-25 14:22:12 -07:00
2024-10-02 17:23:23 -04:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:23:00 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2026-06-16 08:10:21 +05:30
2026-06-09 08:22:57 -07:00
2025-10-17 07:18:15 -07:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-29 16:37:43 -07:00
2026-06-03 09:12:53 +02:00
2026-06-29 08:51:59 -07:00
2025-10-17 07:18:15 -07:00
2023-09-29 14:48:31 -07:00
2026-07-19 07:15:04 -07:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2025-10-19 18:56:14 -07:00
2026-06-09 08:22:59 -07:00
2026-06-16 08:10:21 +05:30
2026-07-07 20:02:56 -07:00
2026-07-07 19:53:10 -07:00
2026-07-03 07:38:17 +02:00
2024-11-10 14:48:07 -08:00
2019-05-30 11:26:32 -07:00
2026-06-23 08:31:33 -07:00
2026-06-09 08:22:59 -07:00
2026-05-22 21:49:05 -04:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-10 12:49:57 -07:00
2026-06-09 08:22:59 -07:00
2026-06-16 08:10:21 +05:30
2024-11-10 14:48:07 -08:00
2026-01-31 07:38:32 -08:00
2026-06-09 08:22:59 -07:00
2026-05-06 14:29:59 +02:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-07-07 20:03:00 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-10 22:07:17 -07:00
2026-06-03 09:12:53 +02:00
2025-07-20 16:37:09 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2025-02-24 13:19:12 +02:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2025-05-02 10:23:47 +02:00
2026-06-16 08:10:21 +05:30
2026-02-21 17:09:51 -08:00
2025-10-17 07:18:15 -07:00
2026-02-21 17:09:51 -08:00
2026-02-21 20:03:00 -08:00
2023-09-29 14:48:31 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:23:00 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 13:48:19 -07:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:23:09 -07:00
2026-07-03 07:38:17 +02:00
2026-05-06 14:29:59 +02:00
2026-05-06 14:29:59 +02:00
2025-04-23 07:18:27 -07:00
2026-06-29 13:39:06 -07:00
2025-05-12 18:05:54 -07:00
2026-07-03 07:38:17 +02:00
2026-03-30 19:45:05 -07:00
2026-05-21 06:48:19 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:23:09 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2022-07-13 08:38:19 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:23:00 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2025-10-17 07:18:10 -07:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2022-09-25 14:22:12 -07:00
2019-11-06 14:37:19 -08:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-02-22 15:48:30 -08:00
2026-06-22 12:09:47 -07:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2023-05-26 13:33:05 +02:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-16 08:10:21 +05:30
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-03-30 19:45:05 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2025-04-23 07:21:15 -07:00
2025-07-24 09:20:39 +02:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:41 -07:00
2019-05-30 11:26:32 -07:00
2026-06-03 09:12:45 +02:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:23:09 -07:00
2025-09-16 14:41:57 +01:00
2026-02-07 09:33:00 -08:00
2026-06-09 08:22:59 -07:00
2026-03-30 19:45:06 -07:00
2024-06-11 07:25:13 -07:00
2026-01-31 07:38:32 -08:00
2026-06-09 08:23:00 -07:00
2026-06-09 08:22:59 -07:00
2026-06-03 09:12:53 +02:00
2026-06-09 08:22:57 -07:00
2026-07-03 07:38:17 +02:00
2024-11-10 14:48:06 -08:00
2026-07-07 20:03:02 -07:00
2026-07-07 20:03:02 -07:00
2024-11-10 14:48:07 -08:00
2024-11-10 14:48:07 -08:00
2026-06-09 08:22:59 -07:00
2026-04-10 08:33:08 -07:00
2026-06-09 08:22:59 -07:00
2026-05-21 16:48:41 +02:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-06-03 09:12:53 +02:00
2026-06-09 08:23:05 -07:00
2026-06-09 08:22:59 -07:00
2026-02-21 17:09:51 -08:00
2024-08-27 08:10:23 -07:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2025-10-15 11:04:40 -07:00
2023-08-21 06:04:29 -07:00
2025-10-17 07:18:10 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:23:17 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2024-11-10 14:48:07 -08:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2021-10-12 07:22:41 -07:00
2024-11-10 14:48:07 -08:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2024-11-10 14:48:06 -08:00
2024-08-27 08:10:23 -07:00
2025-11-26 09:03:15 -08:00
2026-06-09 08:22:59 -07:00
2026-06-16 08:10:21 +05:30
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-06-09 08:22:59 -07:00
2026-07-03 07:38:17 +02:00
2026-06-13 05:53:18 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2025-02-02 17:34:06 -08:00
2026-06-09 08:22:59 -07:00
2024-11-10 14:48:07 -08:00
2024-08-27 08:10:11 -07:00
2024-11-10 14:48:07 -08:00
2026-06-08 10:01:49 +02:00
2025-11-21 07:50:18 -08:00
2025-11-24 11:47:45 -08:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2025-07-20 16:38:34 -07:00
2026-06-29 13:36:48 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-09 08:22:59 -07:00
2026-06-29 13:36:43 -07:00
2026-06-09 08:22:59 -07:00
2019-06-05 17:30:30 +02:00
2019-06-05 17:30:30 +02:00
2025-04-23 07:18:27 -07:00
2026-04-03 11:09:09 -07:00