[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL V2 27/44] e1000e: Do not assert when MSI-X is disabled later
From: |
Jason Wang |
Subject: |
[PULL V2 27/44] e1000e: Do not assert when MSI-X is disabled later |
Date: |
Fri, 10 Mar 2023 17:35:09 +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 V2 16/44] e1000e: Introduce e1000_rx_desc_union, (continued)
- [PULL V2 16/44] e1000e: Introduce e1000_rx_desc_union, Jason Wang, 2023/03/10
- [PULL V2 18/44] e1000e: Remove extra pointer indirection, Jason Wang, 2023/03/10
- [PULL V2 20/44] e1000x: Alter the signature of e1000x_is_vlan_packet, Jason Wang, 2023/03/10
- [PULL V2 19/44] net: Check L4 header size, Jason Wang, 2023/03/10
- [PULL V2 21/44] net: Strip virtio-net header when dumping, Jason Wang, 2023/03/10
- [PULL V2 22/44] hw/net/net_tx_pkt: Automatically determine if virtio-net header is used, Jason Wang, 2023/03/10
- [PULL V2 23/44] hw/net/net_rx_pkt: Remove net_rx_pkt_has_virt_hdr, Jason Wang, 2023/03/10
- [PULL V2 24/44] e1000e: Perform software segmentation for loopback, Jason Wang, 2023/03/10
- [PULL V2 25/44] hw/net/net_tx_pkt: Implement TCP segmentation, Jason Wang, 2023/03/10
- [PULL V2 26/44] hw/net/net_tx_pkt: Check the payload length, Jason Wang, 2023/03/10
- [PULL V2 27/44] e1000e: Do not assert when MSI-X is disabled later,
Jason Wang <=
- [PULL V2 28/44] MAINTAINERS: Add Akihiko Odaki as a e1000e reviewer, Jason Wang, 2023/03/10
- [PULL V2 30/44] e1000e: Combine rx traces, Jason Wang, 2023/03/10
- [PULL V2 29/44] MAINTAINERS: Add e1000e test files, Jason Wang, 2023/03/10
- [PULL V2 31/44] e1000: Count CRC in Tx statistics, Jason Wang, 2023/03/10
- [PULL V2 34/44] e1000e: Implement system clock, Jason Wang, 2023/03/10
- [PULL V2 33/44] net/eth: Report if headers are actually present, Jason Wang, 2023/03/10
- [PULL V2 32/44] e1000e: Count CRC in Tx statistics, Jason Wang, 2023/03/10
- [PULL V2 35/44] net/eth: Introduce EthL4HdrProto, Jason Wang, 2023/03/10
- [PULL V2 36/44] pcie: Introduce pcie_sriov_num_vfs, Jason Wang, 2023/03/10
- [PULL V2 37/44] e1000: Split header files, Jason Wang, 2023/03/10