Commit 348b2d11 authored by Cyrill Gorcunov's avatar Cyrill Gorcunov Committed by Andrei Vagin

tun: Set net ns before opening master

Opening tun device is tricky: the net device
is allocated from current net namespace, thus
we should set it first, otherwise all tuns
which live in nested net namespace get moved
to the toplevel one.
Signed-off-by: 's avatarCyrill Gorcunov <gorcunov@gmail.com>
Signed-off-by: 's avatarAndrei Vagin <avagin@gmail.com>
parent 64664bb2
......@@ -369,13 +369,14 @@ static int tunfile_open(struct file_desc *d, int *new_fd)
struct tun_link *tl;
ti = container_of(d, struct tunfile_info, d);
fd = open_reg_by_id(ti->tfe->id);
if (fd < 0)
return -1;
ns_id = ti->tfe->ns_id;
if (set_netns(ns_id))
goto err;
return -1;
fd = open_reg_by_id(ti->tfe->id);
if (fd < 0)
return -1;
if (!ti->tfe->netdev)
/* just-opened tun file */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment