CVE-2022-49320

high

Description

In the Linux kernel, the following vulnerability has been resolved: dmaengine: zynqmp_dma: In struct zynqmp_dma_chan fix desc_size data type In zynqmp_dma_alloc/free_chan_resources functions there is a potential overflow in the below expressions. dma_alloc_coherent(chan->dev, (2 * chan->desc_size * ZYNQMP_DMA_NUM_DESCS), &chan->desc_pool_p, GFP_KERNEL); dma_free_coherent(chan->dev,(2 * ZYNQMP_DMA_DESC_SIZE(chan) * ZYNQMP_DMA_NUM_DESCS), chan->desc_pool_v, chan->desc_pool_p); The arguments desc_size and ZYNQMP_DMA_NUM_DESCS were 32 bit. Though this overflow condition is not observed but it is a potential problem in the case of 32-bit multiplication. Hence fix it by changing the desc_size data type to size_t. In addition to coverity fix it also reuse ZYNQMP_DMA_DESC_SIZE macro in dma_alloc_coherent API argument. Addresses-Coverity: Event overflow_before_widen.

References

https://git.kernel.org/stable/c/f9a9f43a62a04ec3183fb0da9226c7706eed0115

https://git.kernel.org/stable/c/95a0ba85c1b51b36e909841c02d205cd223ab753

https://git.kernel.org/stable/c/90aefae2e3a770a6909d339f5d8a988c0b0ceaf0

https://git.kernel.org/stable/c/83960276ffc9bf5570d4106490346b61e61be5f3

https://git.kernel.org/stable/c/7b5488f4721fed6e121e661e165bab06ae2f8675

https://git.kernel.org/stable/c/4838969e4d95d2bd2995d1605b20d3144fcb3e74

Details

Source: Mitre, NVD

Published: 2025-02-26

Updated: 2025-02-26

Risk Information

CVSS v2

Base Score: 7.5

Vector: CVSS2#AV:N/AC:L/Au:N/C:P/I:P/A:P

Severity: High

CVSS v3

Base Score: 7.8

Vector: CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Severity: High