[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2025022637-CVE-2022-49320-c76e@gregkh>
Date: Wed, 26 Feb 2025 03:09:54 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: CVE-2022-49320: dmaengine: zynqmp_dma: In struct zynqmp_dma_chan fix desc_size data type
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.
The Linux kernel CVE team has assigned CVE-2022-49320 to this issue.
Affected and fixed versions
===========================
Fixed in 5.4.198 with commit 83960276ffc9bf5570d4106490346b61e61be5f3
Fixed in 5.10.122 with commit 95a0ba85c1b51b36e909841c02d205cd223ab753
Fixed in 5.15.47 with commit 7b5488f4721fed6e121e661e165bab06ae2f8675
Fixed in 5.17.15 with commit 4838969e4d95d2bd2995d1605b20d3144fcb3e74
Fixed in 5.18.4 with commit 90aefae2e3a770a6909d339f5d8a988c0b0ceaf0
Fixed in 5.19 with commit f9a9f43a62a04ec3183fb0da9226c7706eed0115
Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.
Unaffected versions might change over time as fixes are backported to
older supported kernel versions. The official CVE entry at
https://cve.org/CVERecord/?id=CVE-2022-49320
will be updated if fixes are backported, please check that for the most
up to date information about this issue.
Affected files
==============
The file(s) affected by this issue are:
drivers/dma/xilinx/zynqmp_dma.c
Mitigation
==========
The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes. Individual
changes are never tested alone, but rather are part of a larger kernel
release. Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all. If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
https://git.kernel.org/stable/c/83960276ffc9bf5570d4106490346b61e61be5f3
https://git.kernel.org/stable/c/95a0ba85c1b51b36e909841c02d205cd223ab753
https://git.kernel.org/stable/c/7b5488f4721fed6e121e661e165bab06ae2f8675
https://git.kernel.org/stable/c/4838969e4d95d2bd2995d1605b20d3144fcb3e74
https://git.kernel.org/stable/c/90aefae2e3a770a6909d339f5d8a988c0b0ceaf0
https://git.kernel.org/stable/c/f9a9f43a62a04ec3183fb0da9226c7706eed0115
Powered by blists - more mailing lists