From 6920adda0dce8cc9fb585da658dd983833c2a928 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Wed, 2 Aug 2023 13:15:40 +1000 Subject: util: Make ns_enter() a void function and report setns() errors ns_enter() returns an integer... but it's always zero. If we actually fail the function doesn't return. Therefore it makes more sense for this to be a function returning void, and we can remove the cases where we pointlessly checked its return value. In addition ns_enter() is usually called from an ephemeral thread created by NS_CALL(). That means that the exit(EXIT_FAILURE) there usually won't be reported (since NS_CALL() doesn't wait() for the thread). So, use die() instead to print out some information in the unlikely event that our setns() here does fail. Signed-off-by: David Gibson Signed-off-by: Stefano Brivio --- util.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'util.c') diff --git a/util.c b/util.c index b9f4e7d..019c56c 100644 --- a/util.c +++ b/util.c @@ -378,16 +378,14 @@ void procfs_scan_listen(struct ctx *c, uint8_t proto, int ip_version, int ns, * ns_enter() - Enter configured user (unless already joined) and network ns * @c: Execution context * - * Return: 0, won't return on failure + * Won't return on failure * * #syscalls:pasta setns */ -int ns_enter(const struct ctx *c) +void ns_enter(const struct ctx *c) { if (setns(c->pasta_netns_fd, CLONE_NEWNET)) - exit(EXIT_FAILURE); - - return 0; + die("setns() failed entering netns: %s", strerror(errno)); } /** -- cgit v1.2.3