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:46:07 +0800 Message-ID: <1473389167-2758-1-git-send-email-zhouyates@gmail.com> Cc: dev@dpdk.org, zhouyangchao To: ferruh.yigit@intel.com Return-path: Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by dpdk.org (Postfix) with ESMTP id ACB21379B for ; Thu, 8 Sep 2016 16:21:42 +0200 (CEST) Received: by mail-pf0-f193.google.com with SMTP id 128so2589576pfb.0 for ; Thu, 08 Sep 2016 07:21:42 -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 | 4 +++- 1 files changed, 3 insertions(+), 1 deletions(-) diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c index 67e9b7d..ad4e603 100644 --- a/lib/librte_eal/linuxapp/kni/kni_misc.c +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c @@ -361,7 +361,9 @@ kni_dev_remove(struct kni_dev *dev) igb_kni_remove(dev->pci_dev); if (dev->net_dev) { - unregister_netdev(dev->net_dev); + if (dev->netdev->reg_state == NETREG_REGISTERED){ + unregister_netdev(dev->net_dev); + } free_netdev(dev->net_dev); } -- 1.7.1