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@arraynetworks.com.cn>
Acked-by: Helin Zhang <helin.zhang@intel.com>
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);