From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5753216F0E0 for ; Fri, 12 Jul 2024 12:34:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720787669; cv=none; b=f1norbTydYNwFXbwHINUkB09bSg7a24+xCZRedWi7QJS3+AkhrFtws5rQEL77XWFyLr6+IN9EY0PWrQEAxQguGQh4h8yrkUt7ozoA9gi3cbmQwcozuiY7HPSnm0n4WjUNaM8UfiumVwnq//X1TBB2nPSGH5wdzDY1f9yH9BRZi8= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1720787669; c=relaxed/simple; bh=EJuHmT1wqOU68mGx6rlEsmjHBfI+/ApfUAkbyPP8FQA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=QG/O34dtXjH5pUSjNhwX1+zq2QikqlxGkBPX5HnlgCdyXXI4BXqK45hv/6/2dBGPVz1QH4PTnU/wRhv4vEDs1tnT6rpc5K8exHPStdsYRUCIeah/VuY/7evZFb8ZQsNCO7YY2A6oLT2hgNuQMN/mmAswa8TXjw023GyGXBOSMrM= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b=vOy6c0Re; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linuxfoundation.org header.i=@linuxfoundation.org header.b="vOy6c0Re" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D2B95C32782; Fri, 12 Jul 2024 12:34:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1720787669; bh=EJuHmT1wqOU68mGx6rlEsmjHBfI+/ApfUAkbyPP8FQA=; h=From:To:Cc:Subject:Date:Reply-to:From; b=vOy6c0Re4b1IvKss0lU25m644g82qubZdYqUkizdVdHMCGH9MJJuFJS2L/pDIuxId VgICFqir19hL9BOgIz7odmboJ9T30DzvWltpFXpTFOo/evwuNBfhLMF7tvEzgAkH6t xTVi+bkI2XrFvp3NZFlbIIE/1ZIx6xnKLcX4v3uM= From: Greg Kroah-Hartman To: linux-cve-announce@vger.kernel.org Cc: Greg Kroah-Hartman Subject: CVE-2024-40970: Avoid hw_desc array overrun in dw-axi-dmac Date: Fri, 12 Jul 2024 14:32:46 +0200 Message-ID: <2024071228-CVE-2024-40970-e25d@gregkh> X-Mailer: git-send-email 2.45.2 Precedence: bulk X-Mailing-List: linux-cve-announce@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Reply-to: , X-Developer-Signature: v=1; a=openpgp-sha256; l=2730; i=gregkh@linuxfoundation.org; h=from:subject:message-id; bh=EJuHmT1wqOU68mGx6rlEsmjHBfI+/ApfUAkbyPP8FQA=; b=owGbwMvMwCRo6H6F97bub03G02pJDGkTlWImajuvagoSbRR726nPt19gyfN5Ea3mDzbmxtx6a b2y8KVtRywLgyATg6yYIsuXbTxH91ccUvQytD0NM4eVCWQIAxenAExE9TvDfL+3Ex2SPXu6fyvn lH/r+u3Lx/onk2FBd92Nw+/3Ot79lHsx4bzvQtWEyC3qAA== X-Developer-Key: i=gregkh@linuxfoundation.org; a=openpgp; fpr=F4B60CC5BF78C2214A313DCB3147D40DDB2DFB29 Content-Transfer-Encoding: 8bit Description =========== In the Linux kernel, the following vulnerability has been resolved: Avoid hw_desc array overrun in dw-axi-dmac I have a use case where nr_buffers = 3 and in which each descriptor is composed by 3 segments, resulting in the DMA channel descs_allocated to be 9. Since axi_desc_put() handles the hw_desc considering the descs_allocated, this scenario would result in a kernel panic (hw_desc array will be overrun). To fix this, the proposal is to add a new member to the axi_dma_desc structure, where we keep the number of allocated hw_descs (axi_desc_alloc()) and use it in axi_desc_put() to handle the hw_desc array correctly. Additionally I propose to remove the axi_chan_start_first_queued() call after completing the transfer, since it was identified that unbalance can occur (started descriptors can be interrupted and transfer ignored due to DMA channel not being enabled). The Linux kernel CVE team has assigned CVE-2024-40970 to this issue. Affected and fixed versions =========================== Fixed in 5.15.162 with commit 7c3bb96a20cd Fixed in 6.1.96 with commit dd42570018f5 Fixed in 6.6.36 with commit e151ae1ee065 Fixed in 6.9.7 with commit 9004784e8d68 Fixed in 6.10-rc1 with commit 333e11bf47fa 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-2024-40970 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/dw-axi-dmac/dw-axi-dmac-platform.c drivers/dma/dw-axi-dmac/dw-axi-dmac.h 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/7c3bb96a20cd8db3b8824b2ff08b6cde4505c7e5 https://git.kernel.org/stable/c/dd42570018f5962c10f215ad9c21274ed5d3541e https://git.kernel.org/stable/c/e151ae1ee065cf4b8ce4394ddb9d9c8df6370c66 https://git.kernel.org/stable/c/9004784e8d68bcd1ac1376407ba296fa28f04dbe https://git.kernel.org/stable/c/333e11bf47fa8d477db90e2900b1ed3c9ae9b697