mirror of
https://passt.top/passt
synced 2025-06-17 12:45:34 +02:00
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 <david@gibson.dropbear.id.au> Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
This commit is contained in:
parent
b15ce5b6ce
commit
6920adda0d
5 changed files with 10 additions and 13 deletions
8
util.c
8
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));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue