refuse c/r with nested network namespaces
RFC PATCH 1/1 refuse c/r with nested network namespaces
...because we can't restore network devices in private namespaces anyway. This leaves userspace to set up network devices however it wants at restart, and leaves it free to restart the application either in the global or a private (configured) network namespace.
Signed-off-by Serge E. Hallyn <serue-r/[email protected]>
--- kernel/nsproxy.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)
kernel/nsproxy.c +7 -0
@@ -291,6 +291,13 @@ static int do_checkpoint_ns(struct ckpt_ctx *ctx, struct nsproxy *nsproxy)/* TODO: Write other namespaces here */ +/* We do not support >1 private netns */ + ret = -EINVAL ; +if (nsproxy->net_ns != ctx->root_nsproxy->net_ns) { +ckpt_err (ctx, ret,"%(T)Nested net_ns unsupported\n" ); + goto out; + } + ret =ckpt_write_obj (ctx, &h->h); out:ckpt_hdr_put (ctx, h);
Signature · 1 line
1.6.1
A message that is not in the archive (sent off-list or not yet received): 20091215215854.GA26783-r/[email protected]
For v19-rc3.
Quoted 29 lines · Serge E. Hallyn
...because we can't restore network devices in private namespaces anyway. This leaves userspace to set up network devices however it wants at restart, and leaves it free to restart the application either in the global or a private (configured) network namespace.
Signed-off-by Serge E. Hallyn <serue-r/[email protected]>--- kernel/nsproxy.c | 7 +++++++ 1 files changed, 7 insertions(+), 0 deletions(-)kernel/nsproxy.c +7
-0@@ -291,6 +291,13 @@ static int do_checkpoint_ns(struct ckpt_ctx *ctx, struct nsproxy *nsproxy)/* TODO: Write other namespaces here */ +/* We do not support >1 private netns */ + ret = -EINVAL ; +if (nsproxy->net_ns != ctx->root_nsproxy->net_ns) { +ckpt_err (ctx, ret,"%(T)Nested net_ns unsupported\n" ); + goto out; + } + ret =ckpt_write_obj (ctx, &h->h); out:ckpt_hdr_put (ctx, h);