From 790aa264bc34a07bbcc44465b79536fc0a3144b8 Mon Sep 17 00:00:00 2001 From: Wenfeng Liu Date: Mon, 15 Jun 2015 00:07:33 -0400 Subject: [PATCH] kni: fix ioctl in container 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 Acked-by: Helin Zhang --- 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 912a8f1804..2e9fa897b9 100644 --- a/lib/librte_eal/linuxapp/kni/kni_misc.c +++ b/lib/librte_eal/linuxapp/kni/kni_misc.c @@ -358,7 +358,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); -- 2.20.1