mirror of https://gitee.com/openkylin/qemu.git
audio/hda: fix guest triggerable assert
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 <kraxel@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Message-id: 20181123063957.9515-1-kraxel@redhat.com
This commit is contained in:
parent
b7ee9e4970
commit
7ec9106759
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue