[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 12/20] ftgmac100: Check for invalid len and address before doing a
From: |
Cédric Le Goater |
Subject: |
[PULL 12/20] ftgmac100: Check for invalid len and address before doing a DMA transfer |
Date: |
Tue, 1 Sep 2020 14:45:17 +0200 |
According to the Aspeed specs, no interrupts are raised in that case
but a "Tx-packets lost" status seems like a good modeling choice for
all implementations. It is covered by the Linux kernel.
Cc: Frederic Konrad <konrad.frederic@yahoo.fr>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Message-Id: <20200819100956.2216690-14-clg@kaod.org>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
hw/net/ftgmac100.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/hw/net/ftgmac100.c b/hw/net/ftgmac100.c
index 014980d30aca..280aa3d3a1e2 100644
--- a/hw/net/ftgmac100.c
+++ b/hw/net/ftgmac100.c
@@ -507,6 +507,15 @@ static void ftgmac100_do_tx(FTGMAC100State *s, uint32_t
tx_ring,
}
len = FTGMAC100_TXDES0_TXBUF_SIZE(bd.des0);
+ if (!len) {
+ /*
+ * 0 is an invalid size, however the HW does not raise any
+ * interrupt. Flag an error because the guest is buggy.
+ */
+ qemu_log_mask(LOG_GUEST_ERROR, "%s: invalid segment size\n",
+ __func__);
+ }
+
if (frame_size + len > sizeof(s->frame)) {
qemu_log_mask(LOG_GUEST_ERROR, "%s: frame too big : %d bytes\n",
__func__, len);
--
2.25.4
- [PULL 00/20] aspeed queue, Cédric Le Goater, 2020/09/01
- [PULL 06/20] aspeed/smc: Fix max_slaves of the legacy SMC device, Cédric Le Goater, 2020/09/01
- [PULL 02/20] m25p80: Add support for n25q512ax3, Cédric Le Goater, 2020/09/01
- [PULL 12/20] ftgmac100: Check for invalid len and address before doing a DMA transfer,
Cédric Le Goater <=
- [PULL 01/20] m25p80: Return the JEDEC ID twice for mx25l25635e, Cédric Le Goater, 2020/09/01
- [PULL 05/20] aspeed/smc: Fix MemoryRegionOps definition, Cédric Le Goater, 2020/09/01
- [PULL 07/20] aspeed/sdhci: Fix reset sequence, Cédric Le Goater, 2020/09/01
- [PULL 03/20] aspeed/scu: Fix valid access size on AST2400, Cédric Le Goater, 2020/09/01
- [PULL 08/20] ftgmac100: Fix registers that can be read, Cédric Le Goater, 2020/09/01
- [PULL 04/20] hw/arm/aspeed: Add board model for Supermicro X11 BMC, Cédric Le Goater, 2020/09/01
- [PULL 15/20] aspeed/sdmc: Perform memory training, Cédric Le Goater, 2020/09/01
- [PULL 16/20] aspeed/sdmc: Allow writes to unprotected registers, Cédric Le Goater, 2020/09/01
- [PULL 14/20] ftgmac100: Improve software reset, Cédric Le Goater, 2020/09/01
- [PULL 09/20] ftgmac100: Fix interrupt status "Packet transmitted on ethernet", Cédric Le Goater, 2020/09/01