mirror of
https://github.com/mii443/qemu.git
synced 2025-12-16 17:18:49 +00:00
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:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user