From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail01.arraynetworks.com.cn (mail.arraynetworks.com.cn [124.42.99.121]) by dpdk.org (Postfix) with ESMTP id 8A75C106B for ; Mon, 15 Jun 2015 06:08:17 +0200 (CEST) Received: from AN.ustack.array (10.8.3.129) by mail01.arraynetworks.com.cn (10.3.0.251) with Microsoft SMTP Server id 14.3.123.3; Mon, 15 Jun 2015 12:08:13 +0800 From: Wenfeng Liu To: , Date: Mon, 15 Jun 2015 00:07:33 -0400 Message-ID: <1434341253-3227-1-git-send-email-liuwf@arraynetworks.com.cn> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.8.3.129] Subject: [dpdk-dev] [PATCH] kni: Passing task_pid_vnr(current) to get_net_ns_by_pid() in kni_ioctl_create() 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: Mon, 15 Jun 2015 04:08:18 -0000 In containers like docker, current->pid returns current process's global PID instead of its own PID under containers's PID namespace, and get_net_ns_by_pid() suppose to accept a virtual PID under its own namespace, so we should use task_pid_vnr(current) to get current process's virtual PID instead of current->pid. Signed-off-by: Wenfeng Liu --- lib/librte_eal/linuxapp/kni/kni_misc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/lib/librte_eal/linuxapp/kni/kni_misc.c index 1935d32..18fb677 100644 --- a/lib/librte_eal/linuxapp/kni/kni_misc.c +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c @@ -359,7 +359,7 @@ kni_ioctl_create(unsigned int ioctl_num, unsigned long ioctl_param) return -EBUSY; } - net = get_net_ns_by_pid(current->pid); + net = get_net_ns_by_pid(task_pid_vnr(current)); if (IS_ERR(net)) { free_netdev(net_dev); return PTR_ERR(net); -- 1.8.3.1