From 7ec910675929a593c9890f412125c31c578cde6e Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 23 Nov 2018 07:39:57 +0100 Subject: audio/hda: fix guest triggerable assert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Guest writes to a readonly register trigger the assert in intel_hda_reg_write(). Add a check and just ignore them. Buglink: https://bugzilla.redhat.com/show_bug.cgi?id=1628433 Signed-off-by: Gerd Hoffmann Reviewed-by: Dr. David Alan Gilbert Reviewed-by: Philippe Mathieu-Daudé Message-id: 20181123063957.9515-1-kraxel@redhat.com --- hw/audio/intel-hda.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'hw/audio') diff --git a/hw/audio/intel-hda.c b/hw/audio/intel-hda.c index 23a2cf6..33e333c 100644 --- a/hw/audio/intel-hda.c +++ b/hw/audio/intel-hda.c @@ -23,6 +23,7 @@ #include "hw/pci/msi.h" #include "qemu/timer.h" #include "qemu/bitops.h" +#include "qemu/log.h" #include "hw/audio/soundhw.h" #include "intel-hda.h" #include "intel-hda-defs.h" @@ -929,6 +930,11 @@ static void intel_hda_reg_write(IntelHDAState *d, const IntelHDAReg *reg, uint32 if (!reg) { return; } + if (!reg->wmask) { + qemu_log_mask(LOG_GUEST_ERROR, "intel-hda: write to r/o reg %s\n", + reg->name); + return; + } if (d->debug) { time_t now = time(NULL); -- cgit v1.1