Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected d696d536f0a97ac779d6176107ac4e96d0a2f8b9 before 287a34c4d712e0bdb67751e21316d9c8d75a528a; affected d696d536f0a97ac779d6176107ac4e96d0a2f8b9 before 8ee521b8b189799e361d4233c5180ba56656d4d4 |
| Linux / Linux | affected 4.3; unaffected 0 before 4.3; unaffected 7.2.8 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.