X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flibsystemd%2Fsd-bus%2Fbus-container.c;h=dd4bf1512e1f58b05a35da3c6d118b231d4a5d54;hb=705a415f684f8e9ee19983e5859de00bbb1477cb;hp=d330363b6f89dad199be3103ee36991e113dfcd2;hpb=607553f9306286fdccf0b356bc3d1087adfe21c4;p=elogind.git diff --git a/src/libsystemd/sd-bus/bus-container.c b/src/libsystemd/sd-bus/bus-container.c index d330363b6..dd4bf1512 100644 --- a/src/libsystemd/sd-bus/bus-container.c +++ b/src/libsystemd/sd-bus/bus-container.c @@ -42,7 +42,7 @@ int bus_container_connect_socket(sd_bus *b) { if (r < 0) return r; - r = namespace_open(leader, &pidnsfd, &mntnsfd, &rootfd); + r = namespace_open(leader, &pidnsfd, &mntnsfd, NULL, &rootfd); if (r < 0) return r; @@ -61,7 +61,7 @@ int bus_container_connect_socket(sd_bus *b) { if (child == 0) { pid_t grandchild; - r = namespace_enter(pidnsfd, mntnsfd, rootfd); + r = namespace_enter(pidnsfd, mntnsfd, -1, rootfd); if (r < 0) _exit(255); @@ -116,7 +116,7 @@ int bus_container_connect_socket(sd_bus *b) { } int bus_container_connect_kernel(sd_bus *b) { - _cleanup_close_pipe_ int pair[2] = { -1, -1 }; + _cleanup_close_pair_ int pair[2] = { -1, -1 }; _cleanup_close_ int pidnsfd = -1, mntnsfd = -1, rootfd = -1; union { struct cmsghdr cmsghdr; @@ -140,7 +140,7 @@ int bus_container_connect_kernel(sd_bus *b) { if (r < 0) return r; - r = namespace_open(leader, &pidnsfd, &mntnsfd, &rootfd); + r = namespace_open(leader, &pidnsfd, &mntnsfd, NULL, &rootfd); if (r < 0) return r; @@ -154,10 +154,9 @@ int bus_container_connect_kernel(sd_bus *b) { if (child == 0) { pid_t grandchild; - close_nointr_nofail(pair[0]); - pair[0] = -1; + pair[0] = safe_close(pair[0]); - r = namespace_enter(pidnsfd, mntnsfd, rootfd); + r = namespace_enter(pidnsfd, mntnsfd, -1, rootfd); if (r < 0) _exit(EXIT_FAILURE); @@ -202,8 +201,7 @@ int bus_container_connect_kernel(sd_bus *b) { _exit(si.si_status); } - close_nointr_nofail(pair[1]); - pair[1] = -1; + pair[1] = safe_close(pair[1]); r = wait_for_terminate(child, &si); if (r < 0)