On Thu, 8 Sep 2022 13:59:05 +1000
David Gibson <david(a)gibson.dropbear.id.au> wrote:
--netns-only is supposed to make pasta use only a
network namespace, not
a user namespace. However, pasta_start_ns() has this backwards, and if
--netns-only is specified it creates a user namespace but *not* a network
namespace. Correct this.
Signed-off-by: David Gibson <david(a)gibson.dropbear.id.au>
---
pasta.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/pasta.c b/pasta.c
index 0fd45e4..7eac8e9 100644
--- a/pasta.c
+++ b/pasta.c
@@ -244,8 +244,8 @@ void pasta_start_ns(struct ctx *c, int argc, char *argv[])
pasta_child_pid = clone(pasta_setup_ns,
ns_fn_stack + sizeof(ns_fn_stack) / 2,
- (c->netns_only ? 0 : CLONE_NEWNET) |
- CLONE_NEWIPC | CLONE_NEWPID | CLONE_NEWUSER |
+ (c->netns_only ? 0 : CLONE_NEWUSER) |
+ CLONE_NEWIPC | CLONE_NEWPID | CLONE_NEWNET |
Oh, funny, so it never worked in this case.
I thought anyway your plan was to drop --netns-only altogether, and if
a --netns option is specified without --userns, then it's implied. Is
that still on the table (outside the scope of this series I presume)?
Well.. having reduced the lifetome of netns_only to within conf()
alone, I felt a lot less urgency about removing it entirely. It might
still be nicer to remove it anyway; I'll have another look.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!