In the Linux kernel, the following vulnerability has been resolved:
drm/amd/display: fix shift-out-of-bounds in CalculateVMAndRowBytes
[WHY] When PTEBufferSizeInRequests is zero, UBSAN reports the following warning because dml_log2 returns an unexpected negative value:
shift exponent 4294966273 is too large for 32-bit type 'int'
[HOW]
In the case PTEBufferSizeInRequests is zero, skip the dml_log2() and assign the result directly.
| Software | From | Fixed in |
|---|---|---|
| linux / linux_kernel | 5.9 | 5.10.176 |
| linux / linux_kernel | 5.11 | 5.15.104 |
| linux / linux_kernel | 5.16 | 6.1.21 |
| linux / linux_kernel | 6.2 | 6.2.8 |