* [PATCH] platform/chrome: sensorhub: Fix dropped timestamp events and log spam
@ 2026-07-14 6:52 Tzung-Bi Shih
2026-07-14 11:54 ` Tzung-Bi Shih
0 siblings, 1 reply; 2+ messages in thread
From: Tzung-Bi Shih @ 2026-07-14 6:52 UTC (permalink / raw)
To: Benson Leung; +Cc: Bryam Vargas, tzungbi, chrome-platform, tfiga, suleiman
Commit 833740a2333c ("platform/chrome: sensorhub: Bound the EC-reported
sensor number") evaluated the `sensor_num` against the bounds limit even
for timestamp events. A timestamp event typically has a `sensor_num` of
0xff [1], causing the driver to flag it as invalid and skip to the next
event.
As a result, we'd see a flooding of "Invalid sensor number 255 from EC"
warning logs and these timestamp events were being dropped.
Additionally, the firmware only ORs the tablet mode flag [2] onto
timestamp events. Because the firmware strictly generates standalone
timestamps (without other flags like ODR or FLUSH), bypassing the bounds
check for anything containing the TIMESTAMP flag is safe and avoids
invalid array access.
Skip the bounds check for events carrying the
MOTIONSENSE_SENSOR_FLAG_TIMESTAMP flag.
[1] https://crrev.com/219ca6ef82ba266da788b673ee4ad50bd3ea1285/common/motion_sense_fifo.c#427
[2] https://crrev.com/219ca6ef82ba266da788b673ee4ad50bd3ea1285/common/motion_sense_fifo.c#296
Fixes: 833740a2333c ("platform/chrome: sensorhub: Bound the EC-reported sensor number")
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
---
drivers/platform/chrome/cros_ec_sensorhub_ring.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/platform/chrome/cros_ec_sensorhub_ring.c b/drivers/platform/chrome/cros_ec_sensorhub_ring.c
index 92941924c347..e0a1bc19dc7f 100644
--- a/drivers/platform/chrome/cros_ec_sensorhub_ring.c
+++ b/drivers/platform/chrome/cros_ec_sensorhub_ring.c
@@ -897,8 +897,12 @@ static void cros_ec_sensorhub_ring_handler(struct cros_ec_sensorhub *sensorhub)
for (in = sensorhub->resp->fifo_read.data, j = 0;
j < number_data; j++, in++) {
- /* Skip event if sensor_num from EC is out of bounds. */
- if (in->sensor_num >= sensorhub->sensor_num) {
+ /*
+ * Skip event if sensor_num from EC is out of bounds,
+ * unless it is a timestamp event.
+ */
+ if (!(in->flags & MOTIONSENSE_SENSOR_FLAG_TIMESTAMP) &&
+ in->sensor_num >= sensorhub->sensor_num) {
dev_warn_ratelimited(sensorhub->dev,
"Invalid sensor number %u from EC\n",
in->sensor_num);
--
2.55.0.795.g602f6c329a-goog
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] platform/chrome: sensorhub: Fix dropped timestamp events and log spam
2026-07-14 6:52 [PATCH] platform/chrome: sensorhub: Fix dropped timestamp events and log spam Tzung-Bi Shih
@ 2026-07-14 11:54 ` Tzung-Bi Shih
0 siblings, 0 replies; 2+ messages in thread
From: Tzung-Bi Shih @ 2026-07-14 11:54 UTC (permalink / raw)
To: Benson Leung; +Cc: Bryam Vargas, chrome-platform, tfiga, suleiman
On Tue, Jul 14, 2026 at 06:52:02AM +0000, Tzung-Bi Shih wrote:
> Commit 833740a2333c ("platform/chrome: sensorhub: Bound the EC-reported
> sensor number") evaluated the `sensor_num` against the bounds limit even
> for timestamp events. A timestamp event typically has a `sensor_num` of
> 0xff [1], causing the driver to flag it as invalid and skip to the next
> event.
>
> As a result, we'd see a flooding of "Invalid sensor number 255 from EC"
> warning logs and these timestamp events were being dropped.
>
> Additionally, the firmware only ORs the tablet mode flag [2] onto
> timestamp events. Because the firmware strictly generates standalone
> timestamps (without other flags like ODR or FLUSH), bypassing the bounds
> check for anything containing the TIMESTAMP flag is safe and avoids
> invalid array access.
>
> Skip the bounds check for events carrying the
> MOTIONSENSE_SENSOR_FLAG_TIMESTAMP flag.
Please disregard the patch. We found this just opens another door for
malfunctioned or compromised firmware to access the array `batch_state`
out of bound. Will fix it in v2.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-07-14 11:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-14 6:52 [PATCH] platform/chrome: sensorhub: Fix dropped timestamp events and log spam Tzung-Bi Shih
2026-07-14 11:54 ` Tzung-Bi Shih
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.