diff options
| author | David Francis <David.Francis@amd.com> | 2026-08-05 09:51:35 -0400 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2026-09-17 11:56:02 -0400 |
| commit | c883d0a132d430ef7ebb23fd94323be94d0fbdb8 (patch) | |
| tree | b434f8ad8e3951dbc5cf9bd088367a74983657b4 /tools/perf/scripts/python/bin/stackcollapse-report | |
| parent | 04de4007d32385b8b6a5dd72bff3146dfdc592c3 (diff) | |
| download | linux-next-c883d0a132d430ef7ebb23fd94323be94d0fbdb8.tar.gz linux-next-c883d0a132d430ef7ebb23fd94323be94d0fbdb8.zip | |
drm/amdkfd: Avoid integer underflow with ffs in EOP ring size calc
The low 6 bits of cp_hqd_eop_control store the base-2 logarithm
of the EOP ring size. This was calculated as
ffs(q->eop_ring_buffer_size / sizeof(unsigned int)) - 1 - 1
But ffs can in theory return 1 or 0, so this could underflow
(although in practice the ring buffer size cannot be less than 4096).
Change this to
ffs(q->eop_ring_buffer_size / sizeof(unsigned int) / 4)
using properties of logarithms.
Reviewed-by: Kent Russell <kent.russell@amd.com>
Signed-off-by: David Francis <David.Francis@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 4f18c56630383c14bfc6b2d65f88f2f895d2121a)
Cc: stable@vger.kernel.org
Diffstat (limited to 'tools/perf/scripts/python/bin/stackcollapse-report')
0 files changed, 0 insertions, 0 deletions
