hw/audio/intel-hda: Restrict DMA engine to memories (not MMIO devices)
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>
This commit is contained in:
parent
be5a8cf347
commit
79fa99831d
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user