[dpdk-dev] [PATCH] kni: Passing task_pid_vnr(current) to get_net_ns_by_pid() in kni_ioctl_create()

Wenfeng Liu liuwf at arraynetworks.com.cn
Mon Jun 15 06:07:33 CEST 2015


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 <liuwf at arraynetworks.com.cn>
---
 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



More information about the dev mailing list