CVE-2022-49320
Severity CVSS v4.0:
Pending analysis
Type:
CWE-190
Integer Overflow or Wraparound
Publication date:
26/02/2025
Last modified:
22/09/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
dmaengine: zynqmp_dma: In struct zynqmp_dma_chan fix desc_size data type<br />
<br />
In zynqmp_dma_alloc/free_chan_resources functions there is a<br />
potential overflow in the below expressions.<br />
<br />
dma_alloc_coherent(chan->dev, (2 * chan->desc_size *<br />
ZYNQMP_DMA_NUM_DESCS),<br />
&chan->desc_pool_p, GFP_KERNEL);<br />
<br />
dma_free_coherent(chan->dev,(2 * ZYNQMP_DMA_DESC_SIZE(chan) *<br />
ZYNQMP_DMA_NUM_DESCS),<br />
chan->desc_pool_v, chan->desc_pool_p);<br />
<br />
The arguments desc_size and ZYNQMP_DMA_NUM_DESCS were 32 bit. Though<br />
this overflow condition is not observed but it is a potential problem<br />
in the case of 32-bit multiplication. Hence fix it by changing the<br />
desc_size data type to size_t.<br />
<br />
In addition to coverity fix it also reuse ZYNQMP_DMA_DESC_SIZE macro in<br />
dma_alloc_coherent API argument.<br />
<br />
Addresses-Coverity: Event overflow_before_widen.
Impact
Base Score 3.x
5.50
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 4.8 (including) | 5.4.198 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.5 (including) | 5.10.122 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.11 (including) | 5.15.47 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.16 (including) | 5.17.15 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 5.18 (including) | 5.18.4 (excluding) |
To consult the complete list of CPE names with products and versions, see this page
References to Advisories, Solutions, and Tools
- https://git.kernel.org/stable/c/4838969e4d95d2bd2995d1605b20d3144fcb3e74
- https://git.kernel.org/stable/c/7b5488f4721fed6e121e661e165bab06ae2f8675
- https://git.kernel.org/stable/c/83960276ffc9bf5570d4106490346b61e61be5f3
- https://git.kernel.org/stable/c/90aefae2e3a770a6909d339f5d8a988c0b0ceaf0
- https://git.kernel.org/stable/c/95a0ba85c1b51b36e909841c02d205cd223ab753
- https://git.kernel.org/stable/c/f9a9f43a62a04ec3183fb0da9226c7706eed0115



