Leo Yan
fcc5eaea2d
perf: arm_spe: Make wakeup range check overflow safe
...
The current code checks whether the wakeup point is in the current
writable range by comparing it with handle->head + handle->size.
The perf AUX head is a monotonically increasing index, so that addition
can overflow when head is close to ULONG_MAX. In that case, a wakeup
point which is still inside the free space range can be missed.
Use unsigned subtraction to compare the distance from head to wakeup
against the handle->size. This can dismiss the issue when addition
overflow.
This is unlikely to happen in practice, but the change makes the
watermark check logically correct.
Fixes: d5d9696b03 ("drivers/perf: Add support for ARMv8.2 Statistical Profiling Extension")
Signed-off-by: Leo Yan <leo.yan@arm.com >
Signed-off-by: Will Deacon <will@kernel.org >
2026-07-31 13:56:58 +00:00
..
2026-07-10 13:03:15 +10:00
2026-07-03 15:13:50 -10:00
2026-07-03 13:54:10 +02:00
2026-07-10 09:17:00 -07:00
2026-06-16 08:53:53 -07:00
2026-07-03 07:38:17 +02:00
2026-06-26 10:47:26 -07:00
2026-07-11 09:35:33 -07:00
2026-07-09 08:26:51 -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-07-12 12:52:34 -07:00
2026-07-03 07:38:17 +02:00
2026-06-15 13:57:13 +05:30
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-06-23 14:00:29 +02:00
2026-07-03 07:38:17 +02:00
2026-06-12 13:47:53 -07:00
2026-06-19 10:14:34 -07:00
2026-07-03 07:38:17 +02:00
2026-07-09 12:44:00 +02:00
2026-07-03 07:38:17 +02:00
2026-06-29 17:58:00 +02: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-07-03 07:38:17 +02: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-07-03 07:38:17 +02:00
2026-07-08 14:05:11 +02:00
2026-07-10 14:19:23 +10:00
2026-07-12 12:37:28 -07:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-06-22 08:06:13 -07:00
2026-07-02 20:54:26 -10:00
2026-06-08 21:51:12 -05:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-06-16 23:19:45 +02:00
2026-06-15 15:08:14 +05:30
2026-07-12 12:37:28 -07:00
2026-06-18 08:16:21 -07:00
2026-07-11 15:42:55 -07:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-05 05:29:41 -10:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-11 15:18:51 +02: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-07-03 07:38:17 +02: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-07-09 08:26:51 -07:00
2026-07-03 07:38:17 +02:00
2026-06-28 07:46:12 -07:00
2026-06-18 16:27:58 -07:00
2026-06-25 09:56:47 -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-07-31 13:56:58 +00:00
2026-07-03 07:38:17 +02:00
2026-07-03 05:38:12 -10:00
2026-07-10 09:51:45 -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-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-06-21 13:20:19 -07:00
2026-06-16 05:31:01 +05:30
2026-07-09 01:41:17 +01:00
2026-06-08 21:53:51 -05:00
2026-06-16 05:18:04 +05:30
2026-07-03 07:38:17 +02:00
2026-06-20 23:31:15 -07:00
2026-07-03 07:38:17 +02:00
2026-07-08 17:02:47 +02:00
2026-06-21 13:20:19 -07:00
2026-07-03 07:38:17 +02:00
2026-06-05 17:19:51 +02:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-05 05:24:06 -10:00
2026-07-03 07:38:17 +02:00
2026-07-07 13:43:27 +02:00
2026-06-15 21:01:30 -04:00
2026-06-17 11:21:40 -07:00
2026-07-03 07:38:17 +02:00
2026-06-22 12:09:47 -07:00
2026-07-12 12:29:38 -07:00
2026-07-07 10:42:28 -04:00
2026-07-03 07:38:17 +02:00
2026-07-12 12:12:41 -07:00
2026-07-03 07:38:17 +02:00
2026-06-29 14:26:31 -06:00
2026-06-21 13:20:19 -07:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-06-17 11:49:00 -07:00
2026-07-03 07:38:17 +02:00
2026-07-03 07:38:17 +02:00
2026-07-01 10:01:14 +02:00