High · published September 23, 2025
In the Linux kernel, the following vulnerability has been resolved:
dmaengine: ti: edma: Fix memory allocation size for queue_priority_map
Fix a critical memory allocation bug in edma_setup_from_hw() where
queue_priority_map was allocated with insufficient memory. The code
declared queue_priority_map as s8 (*)[2] (pointer to array of 2 s8),
but allocated memory using sizeof(s8) instead of the correct size.
This caused out-of-bounds memory writes when accessing:
queue_priority_map[i][0] = i;
queue_priority_map[i][1] = i;
The bug manifested as kernel crashes with "Oops - undefined instruction"
on ARM platforms (BeagleBoard-X15) during EDMA driver probe, as the
memory corruption triggered kernel hardening features on Clang.
Change the allocation to use sizeof(*queue_priority_map) which
automatically gets the correct size for the 2D array structure.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 4.4, < 5.4.300 | 5.4.300 |
| linux/linux_kernel | ≥ 5.5, < 5.10.245 | 5.10.245 |
| linux/linux_kernel | ≥ 5.11, < 5.15.194 | 5.15.194 |
| linux/linux_kernel | ≥ 5.16, < 6.1.153 | 6.1.153 |
| linux/linux_kernel | ≥ 6.2, < 6.6.107 | 6.6.107 |
| linux/linux_kernel | ≥ 6.7, < 6.12.48 | 6.12.48 |
| linux/linux_kernel | ≥ 6.13, < 6.16.8 | 6.16.8 |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| linux/linux_kernel | all versions | — |
| debian/debian_linux | all versions | — |