Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Avoid integer underflow in EOP ring size calculation. The low 6 bits of cp_hqd_eop_control store the base-2 logarithm of the EOP ring size. This was calculated as order_base_2(q->eop_ring_buffer_size / 4) - 1 But order_base_2 can in theory return 0, so this could underflow (although in practice the ring buffer size cannot be less than 4096). Change this to order_base_2(q->eop_ring_buffer_size / 8) using properties of logarithms. Also add to the above comment to make the mathematics more clear. (cherry picked from commit f0f43fcf8b2b3a924cad9444340921c96ed5f634)
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
d696d536f0a97ac779d6176107ac4e96d0a2f8b9 to < 287a34c4d712e0bdb67751e21316d9c8d75a528aaffectedd696d536f0a97ac779d6176107ac4e96d0a2f8b9 to < 8ee521b8b189799e361d4233c5180ba56656d4d4affected
Linux Linux
Default version status: affected
4.3affected0 to < 4.3unaffected7.2.8 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected