From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ferruh Yigit Subject: [PATCH] kni: error rollback with kni_dev_remove could cause a kernel crash Date: Thu, 25 Aug 2016 14:41:30 +0100 Message-ID: <1472132490-27425-1-git-send-email-ferruh.yigit@intel.com> References: Cc: ZhouYates To: dev@dpdk.org Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 22496567A for ; Thu, 25 Aug 2016 15:41:34 +0200 (CEST) In-Reply-To: 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" From: ZhouYates Signed-off-by: ZhouYates --- 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 59d15ca..7ef17f5 100644 --- a/lib/librte_eal/linuxapp/kni/kni_misc.c +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c @@ -448,7 +448,6 @@ kni_ioctl_create(struct net *net, kni = netdev_priv(net_dev); - kni->net_dev = net_dev; kni->group_id = dev_info.group_id; kni->core_id = dev_info.core_id; strncpy(kni->name, dev_info.name, RTE_KNI_NAMESIZE); @@ -561,6 +560,9 @@ kni_ioctl_create(struct net *net, kni_dev_remove(kni); return -ENODEV; } + /*Set the kni->net_dev when the net_dev has registered success. + * Avoid unregistering unregistered net_dev by kni_dev_remove.*/ + kni->net_dev = net_dev; #ifdef RTE_KNI_VHOST kni_vhost_init(kni); -- 1.7.1