[dpdk-stable] patch 'net/ixgbe: fix crash on remove' has been queued to LTS release 18.11.1

Kevin Traynor ktraynor at redhat.com
Thu Mar 21 13:29:03 CET 2019


Hi,

FYI, your patch has been queued to LTS release 18.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/22/19. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Thanks.

Kevin Traynor

---
>From 13db2fb5fbc46651c77c64732ade4f0a45055d7f Mon Sep 17 00:00:00 2001
From: Yunjian Wang <wangyunjian at huawei.com>
Date: Wed, 13 Feb 2019 10:48:52 +0800
Subject: [PATCH] net/ixgbe: fix crash on remove

[ upstream commit ce66e351404f167db9bf47d6a70bd83e101126c9 ]

The NIC's interrupt source has some active handler when the
port removed. We should cancel the delay handler before removing
dev to prevent executing the delay handler.

Call Trace:
  #0  ixgbe_disable_intr (hw=0x0, hw=0x0)
      at /usr/src/debug/dpdk-18.11/drivers/net/ixgbe/ixgbe_ethdev.c:852
  #1  ixgbe_dev_interrupt_delayed_handler (param=0xadb9c0
      <rte_eth_devices@@DPDK_2.2+33024>)
      at /usr/src/debug/dpdk-18.11/drivers/net/ixgbe/ixgbe_ethdev.c:4386
  #2  0x00007f05782147af in eal_alarm_callback (arg=<optimized out>)
      at /usr/src/debug/dpdk-18.11/lib/librte_eal/linuxapp/eal/
      eal_alarm.c:90
  #3  0x00007f057821320a in eal_intr_process_interrupts (nfds=1,
      events=0x7f056cbf3e88) at /usr/src/debug/dpdk-18.11/lib/
      librte_eal/linuxapp/eal/eal_interrupts.c:838
  #4  eal_intr_handle_interrupts (totalfds=<optimized out>, pfd=18)
      at /usr/src/debug/dpdk-18.11/lib/librte_eal/linuxapp/eal/
      eal_interrupts.c:885
  #5  eal_intr_thread_main (arg=<optimized out>)
      at /usr/src/debug/dpdk-18.11/lib/librte_eal/linuxapp/eal/
      eal_interrupts.c:965
  #6  0x00007f05708a0e45 in start_thread () from /usr/lib64/libpthread.so.0
  #7  0x00007f056eb4ab5d in clone () from /usr/lib64/libc.so.6

Fixes: 2866c5f1b87e ("ixgbe: support port hotplug")

Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
Acked-by: Qi Zhang <qi.z.zhang at intel.com>
---
 drivers/net/ixgbe/ixgbe_ethdev.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index 749311048..e9533e5a1 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -1337,4 +1337,7 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)
 	} while (retries++ < (10 + IXGBE_LINK_UP_TIME));
 
+	/* cancel the delay handler before remove dev */
+	rte_eal_alarm_cancel(ixgbe_dev_interrupt_delayed_handler, eth_dev);
+
 	/* uninitialize PF if max_vfs not zero */
 	ixgbe_pf_host_uninit(eth_dev);
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2019-03-21 11:21:26.548799682 +0000
+++ 0005-net-ixgbe-fix-crash-on-remove.patch	2019-03-21 11:21:26.310140533 +0000
@@ -1,8 +1,10 @@
-From ce66e351404f167db9bf47d6a70bd83e101126c9 Mon Sep 17 00:00:00 2001
+From 13db2fb5fbc46651c77c64732ade4f0a45055d7f Mon Sep 17 00:00:00 2001
 From: Yunjian Wang <wangyunjian at huawei.com>
 Date: Wed, 13 Feb 2019 10:48:52 +0800
 Subject: [PATCH] net/ixgbe: fix crash on remove
 
+[ upstream commit ce66e351404f167db9bf47d6a70bd83e101126c9 ]
+
 The NIC's interrupt source has some active handler when the
 port removed. We should cancel the delay handler before removing
 dev to prevent executing the delay handler.
@@ -29,7 +31,6 @@
   #7  0x00007f056eb4ab5d in clone () from /usr/lib64/libc.so.6
 
 Fixes: 2866c5f1b87e ("ixgbe: support port hotplug")
-Cc: stable at dpdk.org
 
 Signed-off-by: Yunjian Wang <wangyunjian at huawei.com>
 Acked-by: Qi Zhang <qi.z.zhang at intel.com>
@@ -38,7 +39,7 @@
  1 file changed, 3 insertions(+)
 
 diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
-index 4deedb0c8..c336937c2 100644
+index 749311048..e9533e5a1 100644
 --- a/drivers/net/ixgbe/ixgbe_ethdev.c
 +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
 @@ -1337,4 +1337,7 @@ eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev)


More information about the stable mailing list