From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f47.google.com (mail-pa0-f47.google.com [209.85.220.47]) by dpdk.org (Postfix) with ESMTP id 4A7E2558B for ; Thu, 8 Sep 2016 18:47:26 +0200 (CEST) Received: by mail-pa0-f47.google.com with SMTP id id6so19001650pad.3 for ; Thu, 08 Sep 2016 09:47:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=AkOigQP3iemiu0LmURfcrR45Cc6pTsMzGwJZM8p5pjo=; b=GBMJLuY3Z01b/dBgrmMyvZJDwyTpYYm9IJY5Ax8NMl5jBU4LNtDyph/M213YgQOrsS p9+m14Mqkjm1xtlBHX6WO8mKg4y7EuOHt4H3T5aa44VRU17V6RJlI3pgoCS3QQZHZXxr G/xmzBJvGUy6QKDjVQvURHpXyq1U+drNRRfY2eUkdh31nEXvOTzYs7MnqFQoOU1Yk4kO EH95XQ3iiQvXLg44VER8/HyOJueajjLAFPqP+zCz6WftH1xkult1tuUJLE/Qd96Ts01f 8DThmVR0lgdB3Alc0eNzDpgmCZi5cSqhWI8xsH5DdOFppvcfqruPl8wPPqlY5hSS/UZm 8Akg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=AkOigQP3iemiu0LmURfcrR45Cc6pTsMzGwJZM8p5pjo=; b=E0a/9KmHpitMTcND0a2wCgKptf38PzhdQ3ilAqcvPJkZ4F97YHMo/YUJMuBX5rPeHi T7+qwWE03O2qCrfGI9OZ2swXrctINw/EJRAWgGcB1VKlHl0J32y2RygZbxO2Er3+Mcty gzwPIoaVuXj3j39fRhkuOG8S6GR7QcOGN8vfT6zFUJc/tGd9jKnJj3WAA+uxpoNmtAnr yVKrVf/x2tXmxF2XuTeDCyjK8K+q6yJxjLF0OA9ToIuEy58AwFbsIztAPrzmYabbVUAi nQZuPmtGTC4o+jmqEZnFSF1wiE6iY7npRrL8ctLlRKyQTOCieuUH83dO+tud5V3bFznc acWQ== X-Gm-Message-State: AE9vXwPiZrjVLrf95r6DGA0LO3Bf9SyMETseIGAWjyEJnQPap9GaJF5bMmKFIEfArcI8zw== X-Received: by 10.66.82.42 with SMTP id f10mr1001380pay.17.1473353245632; Thu, 08 Sep 2016 09:47:25 -0700 (PDT) Received: from xeon-e3 (static-50-53-69-251.bvtn.or.frontiernet.net. [50.53.69.251]) by smtp.gmail.com with ESMTPSA id r19sm47543875pfb.31.2016.09.08.09.47.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 08 Sep 2016 09:47:25 -0700 (PDT) Date: Thu, 8 Sep 2016 09:47:35 -0700 From: Stephen Hemminger To: zhouyangchao Cc: ferruh.yigit@intel.com, dev@dpdk.org Message-ID: <20160908094735.5861477b@xeon-e3> In-Reply-To: <1473388936-2706-1-git-send-email-zhouyates@gmail.com> References: <1473388936-2706-1-git-send-email-zhouyates@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [PATCH] kni: unregister an unregisterd net_device could cause a kernel crash X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 08 Sep 2016 16:47:26 -0000 On Fri, 9 Sep 2016 10:42:16 +0800 zhouyangchao wrote: > 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); > } The real problem is kni_dev_remove should not be called when register_netdevice fails. Why not just fix that unwind path.