[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 27/51] e1000e: Do not assert when MSI-X is disabled later
From: |
Jason Wang |
Subject: |
[PULL 27/51] e1000e: Do not assert when MSI-X is disabled later |
Date: |
Tue, 7 Mar 2023 15:07:52 +0800 |
From: Akihiko Odaki <akihiko.odaki@daynix.com>
Assertions will fail if MSI-X gets disabled while a timer for MSI-X
interrupts is running so remove them to avoid abortions. Fortunately,
nothing bad happens even if the assertions won't trigger as
msix_notify(), called by timer handlers, does nothing when MSI-X is
disabled.
This bug was found by Alexander Bulekov when fuzzing igb, a new
device implementation derived from e1000e:
https://patchew.org/QEMU/20230129053316.1071513-1-alxndr@bu.edu/
The fixed test case is:
fuzz/crash_aea040166819193cf9fedb810c6d100221da721a
Fixes: 6f3fbe4ed0 ("net: Introduce e1000e device emulation")
Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
---
hw/net/e1000e_core.c | 4 ----
1 file changed, 4 deletions(-)
diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_core.c
index ff93547..76c7814 100644
--- a/hw/net/e1000e_core.c
+++ b/hw/net/e1000e_core.c
@@ -162,8 +162,6 @@ e1000e_intrmgr_on_throttling_timer(void *opaque)
{
E1000IntrDelayTimer *timer = opaque;
- assert(!msix_enabled(timer->core->owner));
-
timer->running = false;
if (msi_enabled(timer->core->owner)) {
@@ -183,8 +181,6 @@ e1000e_intrmgr_on_msix_throttling_timer(void *opaque)
E1000IntrDelayTimer *timer = opaque;
int idx = timer - &timer->core->eitr[0];
- assert(msix_enabled(timer->core->owner));
-
timer->running = false;
trace_e1000e_irq_msix_notify_postponed_vec(idx);
--
2.7.4
- [PULL 15/51] e1000e: Configure ResettableClass, (continued)
- [PULL 15/51] e1000e: Configure ResettableClass, Jason Wang, 2023/03/07
- [PULL 16/51] e1000e: Introduce e1000_rx_desc_union, Jason Wang, 2023/03/07
- [PULL 17/51] e1000e: Set MII_ANER_NWAY, Jason Wang, 2023/03/07
- [PULL 18/51] e1000e: Remove extra pointer indirection, Jason Wang, 2023/03/07
- [PULL 19/51] net: Check L4 header size, Jason Wang, 2023/03/07
- [PULL 20/51] e1000x: Alter the signature of e1000x_is_vlan_packet, Jason Wang, 2023/03/07
- [PULL 21/51] net: Strip virtio-net header when dumping, Jason Wang, 2023/03/07
- [PULL 22/51] hw/net/net_tx_pkt: Automatically determine if virtio-net header is used, Jason Wang, 2023/03/07
- [PULL 23/51] hw/net/net_rx_pkt: Remove net_rx_pkt_has_virt_hdr, Jason Wang, 2023/03/07
- [PULL 24/51] e1000e: Perform software segmentation for loopback, Jason Wang, 2023/03/07
- [PULL 27/51] e1000e: Do not assert when MSI-X is disabled later,
Jason Wang <=
- [PULL 25/51] hw/net/net_tx_pkt: Implement TCP segmentation, Jason Wang, 2023/03/07
- [PULL 26/51] hw/net/net_tx_pkt: Check the payload length, Jason Wang, 2023/03/07
- [PULL 28/51] MAINTAINERS: Add Akihiko Odaki as a e1000e reviewer, Jason Wang, 2023/03/07
- [PULL 29/51] MAINTAINERS: Add e1000e test files, Jason Wang, 2023/03/07
- [PULL 30/51] e1000e: Combine rx traces, Jason Wang, 2023/03/07
- [PULL 31/51] e1000: Count CRC in Tx statistics, Jason Wang, 2023/03/07
- [PULL 32/51] e1000e: Count CRC in Tx statistics, Jason Wang, 2023/03/07
- [PULL 37/51] e1000: Split header files, Jason Wang, 2023/03/07
- [PULL 34/51] e1000e: Implement system clock, Jason Wang, 2023/03/07
- [PULL 33/51] net/eth: Report if headers are actually present, Jason Wang, 2023/03/07