mirror of https://github.com/xemu-project/xemu.git
hw/net/vmxnet3: Do not abort if the guest is trying to use an invalid TX queue
QEMU should never abort just because the guest is doing something odd. Let's simply log the error and ignore the bad transmit queue instead. Buglink: https://bugs.launchpad.net/qemu/+bug/1926111 Message-Id: <20210715103755.1035566-1-thuth@redhat.com> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
659eb157a5
commit
6a932c4ed8
|
@ -23,6 +23,7 @@
|
|||
#include "net/checksum.h"
|
||||
#include "sysemu/sysemu.h"
|
||||
#include "qemu/bswap.h"
|
||||
#include "qemu/log.h"
|
||||
#include "qemu/module.h"
|
||||
#include "hw/pci/msix.h"
|
||||
#include "hw/pci/msi.h"
|
||||
|
@ -1093,8 +1094,12 @@ vmxnet3_io_bar0_write(void *opaque, hwaddr addr,
|
|||
int tx_queue_idx =
|
||||
VMW_MULTIREG_IDX_BY_ADDR(addr, VMXNET3_REG_TXPROD,
|
||||
VMXNET3_REG_ALIGN);
|
||||
assert(tx_queue_idx <= s->txq_num);
|
||||
vmxnet3_process_tx_queue(s, tx_queue_idx);
|
||||
if (tx_queue_idx <= s->txq_num) {
|
||||
vmxnet3_process_tx_queue(s, tx_queue_idx);
|
||||
} else {
|
||||
qemu_log_mask(LOG_GUEST_ERROR, "vmxnet3: Illegal TX queue %d/%d\n",
|
||||
tx_queue_idx, s->txq_num);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue