From mboxrd@z Thu Jan 1 00:00:00 1970 From: zhouyangchao Subject: [PATCH] kni: unregister an unregisterd net_device could cause a kernel crash Date: Fri, 9 Sep 2016 10:42:16 +0800 Message-ID: <1473388936-2706-1-git-send-email-zhouyates@gmail.com> Cc: dev@dpdk.org, zhouyangchao To: ferruh.yigit@intel.com Return-path: Received: from mail-pa0-f68.google.com (mail-pa0-f68.google.com [209.85.220.68]) by dpdk.org (Postfix) with ESMTP id 8DFA22B88 for ; Thu, 8 Sep 2016 16:18:17 +0200 (CEST) Received: by mail-pa0-f68.google.com with SMTP id h5so2478988pao.0 for ; Thu, 08 Sep 2016 07:18:17 -0700 (PDT) List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: zhouyangchao --- lib/librte_eal/linuxapp/kni/kni_misc.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c index 67e9b7d..17b6d7a 100644 --- a/lib/librte_eal/linuxapp/kni/kni_misc.c +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c @@ -361,6 +361,9 @@ kni_dev_remove(struct kni_dev *dev) igb_kni_remove(dev->pci_dev); if (dev->net_dev) { + if (dev->net_dev->state == NETREG_REGISTERED) { + unregister_netdev(dev->net_dev); + } unregister_netdev(dev->net_dev); free_netdev(dev->net_dev); } -- 1.7.1