79c4324644
Change-Id: I2d302dda68298877c65c99147f5bf22186a59aac
42 lines
1.5 KiB
Diff
42 lines
1.5 KiB
Diff
From f8b3b2e8d09320cab4cccab2dcbaab799d2dbd7a Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
|
Date: Sat, 18 Dec 2021 17:09:11 +0100
|
|
Subject: [PATCH 24/25] hw/audio/intel-hda: Restrict DMA engine to memories
|
|
(not MMIO devices)
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Issue #542 reports a reentrancy problem when the DMA engine accesses
|
|
the HDA controller I/O registers. Fix by restricting the DMA engine
|
|
to memories regions (forbidding MMIO devices such the HDA controller).
|
|
|
|
Reported-by: OSS-Fuzz (Issue 28435)
|
|
Reported-by: Alexander Bulekov <alxndr@bu.edu>
|
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
|
Reviewed-by: Thomas Huth <thuth@redhat.com>
|
|
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/542
|
|
CVE: CVE-2021-3611
|
|
Message-Id: <20211218160912.1591633-3-philmd@redhat.com>
|
|
Signed-off-by: Thomas Huth <thuth@redhat.com>
|
|
---
|
|
hw/audio/intel-hda.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c
|
|
index 0c1017edbb..3aa57d274e 100644
|
|
--- a/hw/audio/intel-hda.c
|
|
+++ b/hw/audio/intel-hda.c
|
|
@@ -345,7 +345,7 @@ static void intel_hda_corb_run(IntelHDAState *d)
|
|
|
|
static void intel_hda_response(HDACodecDevice *dev, bool solicited, uint32_t response)
|
|
{
|
|
- const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED;
|
|
+ const MemTxAttrs attrs = { .memory = true };
|
|
HDACodecBus *bus = HDA_BUS(dev->qdev.parent_bus);
|
|
IntelHDAState *d = container_of(bus, IntelHDAState, codecs);
|
|
hwaddr addr;
|
|
--
|
|
2.27.0
|
|
|