]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
fd-uitl: rename PIPE_EBADF → EBADF_PAIR, and add EBADF_TRIPLET
authorLennart Poettering <lennart@poettering.net>
Thu, 26 Oct 2023 16:45:33 +0000 (18:45 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 26 Oct 2023 20:30:42 +0000 (22:30 +0200)
We use it for more than just pipe() arrays. For example also for
socketpair(). Hence let's give it a generic name.

Also add EBADF_TRIPLET to mirror this for things like
stdin/stdout/stderr arrays, which we use a bunch of times.

58 files changed:
src/basic/fd-util.c
src/basic/fd-util.h
src/basic/terminal-util.c
src/core/automount.c
src/core/dynamic-user.c
src/core/exec-invoke.c
src/core/execute.c
src/core/executor.c
src/core/fuzz-execute-serialize.c
src/core/manager.c
src/core/service.c
src/core/socket.c
src/coredump/coredump.c
src/fsck/fsck.c
src/fuzz/fuzz-varlink.c
src/import/import-common.c
src/import/importd.c
src/import/pull-common.c
src/journal/fuzz-journald-stream.c
src/libsystemd-network/fuzz-dhcp6-client.c
src/libsystemd-network/fuzz-lldp-rx.c
src/libsystemd-network/icmp6-util-unix.c
src/libsystemd-network/test-dhcp6-client.c
src/libsystemd-network/test-lldp-rx.c
src/libsystemd/sd-bus/bus-container.c
src/libsystemd/sd-bus/test-bus-benchmark.c
src/libsystemd/sd-bus/test-bus-chat.c
src/libsystemd/sd-daemon/sd-daemon.c
src/libsystemd/sd-event/test-event.c
src/libsystemd/sd-login/test-login.c
src/machine/image-dbus.c
src/machine/machine-dbus.c
src/machine/machined-dbus.c
src/nspawn/nspawn.c
src/portable/portable.c
src/portable/portabled-image-bus.c
src/shared/data-fd-util.c
src/shared/dissect-image.c
src/shared/elf-util.c
src/shared/logs-show.c
src/shared/mount-util.c
src/shared/pager.c
src/shared/varlink.c
src/shutdown/umount.c
src/socket-proxy/socket-proxyd.c
src/sysupdate/sysupdate-resource.c
src/test/test-copy.c
src/test/test-data-fd-util.c
src/test/test-execute.c
src/test/test-fd-util.c
src/test/test-mempress.c
src/test/test-namespace.c
src/test/test-process-util.c
src/test/test-socket-util.c
src/test/test-varlink-idl.c
src/test/test-varlink.c
src/udev/udev-manager.c
src/udev/udev-spawn.c

index 59c243e70d13ee759d2165843037a7976a324a07..f2b606ea9b485f6e906a6cf5cfc0ffcd2f0c6a9d 100644 (file)
@@ -654,7 +654,7 @@ int rearrange_stdio(int original_input_fd, int original_output_fd, int original_
                       original_output_fd,
                       original_error_fd },
             null_fd = -EBADF,                        /* If we open /dev/null, we store the fd to it here */
-            copy_fd[3] = { -EBADF, -EBADF, -EBADF }, /* This contains all fds we duplicate here
+            copy_fd[3] = EBADF_TRIPLET,              /* This contains all fds we duplicate here
                                                       * temporarily, and hence need to close at the end. */
             r;
         bool null_readable, null_writable;
index b2efdc9c2347e8b2f01bfb071cbb6f3dc2428a43..aba8f5f5af9dc7cfb9ffc769270e6ca9074ce260 100644 (file)
 /* Make sure we can distinguish fd 0 and NULL */
 #define FD_TO_PTR(fd) INT_TO_PTR((fd)+1)
 #define PTR_TO_FD(p) (PTR_TO_INT(p)-1)
-#define PIPE_EBADF { -EBADF, -EBADF }
+
+/* Useful helpers for initializing pipe(), socketpair() or stdio fd arrays */
+#define EBADF_PAIR { -EBADF, -EBADF }
+#define EBADF_TRIPLET { -EBADF, -EBADF, -EBADF }
 
 int close_nointr(int fd);
 int safe_close(int fd);
index 63594f07cf0449c1a4482c4b2c21cf87bebe4ac5..6cc6ff424ad303cae88eb85a0a7d612cb55f03bb 100644 (file)
@@ -1191,7 +1191,7 @@ static int ptsname_namespace(int pty, char **ret) {
 
 int openpt_allocate_in_namespace(pid_t pid, int flags, char **ret_slave) {
         _cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, usernsfd = -EBADF, rootfd = -EBADF, fd = -EBADF;
-        _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
         pid_t child;
         int r;
 
@@ -1244,7 +1244,7 @@ int openpt_allocate_in_namespace(pid_t pid, int flags, char **ret_slave) {
 
 int open_terminal_in_namespace(pid_t pid, const char *name, int mode) {
         _cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, usernsfd = -EBADF, rootfd = -EBADF;
-        _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
         pid_t child;
         int r;
 
index 4de537fc423431b0820646eacef91c1516e4974b..14bf7e6998fcded26f195e6280b7776eeaabb49c 100644 (file)
@@ -558,7 +558,7 @@ static void automount_trigger_notify(Unit *u, Unit *other) {
 }
 
 static void automount_enter_waiting(Automount *a) {
-        _cleanup_close_pair_ int pipe_fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pipe_fd[2] = EBADF_PAIR;
         _cleanup_close_ int ioctl_fd = -EBADF;
         char name[STRLEN("systemd-") + DECIMAL_STR_MAX(pid_t) + 1];
         _cleanup_free_ char *options = NULL;
index 9e465791b31c1e2897a028407cfc616fc0c19b9a..76842e5f24cc35b5832e6d5c39757f959c0a409d 100644 (file)
@@ -79,7 +79,7 @@ static int dynamic_user_add(Manager *m, const char *name, int storage_socket[sta
 }
 
 static int dynamic_user_acquire(Manager *m, const char *name, DynamicUser** ret) {
-        _cleanup_close_pair_ int storage_socket[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int storage_socket[2] = EBADF_PAIR;
         DynamicUser *d;
         int r;
 
index 3b8cec8258b87670ec8bf572e05e36e98cb70c77..9be39a561088bc52997f22a4b8ce75a62cb9e6f6 100644 (file)
@@ -2080,7 +2080,7 @@ static int build_pass_environment(const ExecContext *c, char ***ret) {
 
 static int setup_private_users(uid_t ouid, gid_t ogid, uid_t uid, gid_t gid) {
         _cleanup_free_ char *uid_map = NULL, *gid_map = NULL;
-        _cleanup_close_pair_ int errno_pipe[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int errno_pipe[2] = EBADF_PAIR;
         _cleanup_close_ int unshare_ready_fd = -EBADF;
         _cleanup_(sigkill_waitp) pid_t pid = 0;
         uint64_t c = 1;
@@ -3906,7 +3906,7 @@ int exec_invoke(
         _cleanup_free_ int *fds = NULL;
         _cleanup_strv_free_ char **fdnames = NULL;
 
-        int socket_fd = -EBADF, named_iofds[3] = { -EBADF, -EBADF, -EBADF }, *params_fds = NULL;
+        int socket_fd = -EBADF, named_iofds[3] = EBADF_TRIPLET, *params_fds = NULL;
         size_t n_storage_fds = 0, n_socket_fds = 0;
 
         assert(command);
index 35baac32249362aa4916c0ed3161698a89f6ac13..f220e9ee5e894e75fbe05d4a11b103b10d594189 100644 (file)
@@ -1994,8 +1994,8 @@ static int exec_shared_runtime_allocate(ExecSharedRuntime **ret, const char *id)
 
         *n = (ExecSharedRuntime) {
                 .id = TAKE_PTR(id_copy),
-                .netns_storage_socket = PIPE_EBADF,
-                .ipcns_storage_socket = PIPE_EBADF,
+                .netns_storage_socket = EBADF_PAIR,
+                .ipcns_storage_socket = EBADF_PAIR,
         };
 
         *ret = n;
@@ -2057,7 +2057,7 @@ static int exec_shared_runtime_make(
                 ExecSharedRuntime **ret) {
 
         _cleanup_(namespace_cleanup_tmpdirp) char *tmp_dir = NULL, *var_tmp_dir = NULL;
-        _cleanup_close_pair_ int netns_storage_socket[2] = PIPE_EBADF, ipcns_storage_socket[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int netns_storage_socket[2] = EBADF_PAIR, ipcns_storage_socket[2] = EBADF_PAIR;
         int r;
 
         assert(m);
@@ -2391,7 +2391,7 @@ int exec_runtime_make(
                 ExecSharedRuntime *shared,
                 DynamicCreds *creds,
                 ExecRuntime **ret) {
-        _cleanup_close_pair_ int ephemeral_storage_socket[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int ephemeral_storage_socket[2] = EBADF_PAIR;
         _cleanup_free_ char *ephemeral = NULL;
         _cleanup_(exec_runtime_freep) ExecRuntime *rt = NULL;
         int r;
index 93ebad4b0301e0d2a2417dccbed535ff269c0fe4..a7fb3112928c559902fe32eb88f24d9f274eb9b7 100644 (file)
@@ -180,12 +180,12 @@ int main(int argc, char *argv[]) {
         _cleanup_(exec_command_done) ExecCommand command = {};
         _cleanup_(exec_params_serialized_done) ExecParameters params = EXEC_PARAMETERS_INIT(/* flags= */ 0);
         _cleanup_(exec_shared_runtime_done) ExecSharedRuntime shared = {
-                .netns_storage_socket = PIPE_EBADF,
-                .ipcns_storage_socket = PIPE_EBADF,
+                .netns_storage_socket = EBADF_PAIR,
+                .ipcns_storage_socket = EBADF_PAIR,
         };
         _cleanup_(dynamic_creds_done) DynamicCreds dynamic_creds = {};
         _cleanup_(exec_runtime_clear) ExecRuntime runtime = {
-                .ephemeral_storage_socket = PIPE_EBADF,
+                .ephemeral_storage_socket = EBADF_PAIR,
                 .shared = &shared,
                 .dynamic_creds = &dynamic_creds,
         };
index a62a135fdfe78a55983f70a06d59584e21c17f17..d71fb487e5a93fd5199b80bc3c5d1aca98b7f3f0 100644 (file)
@@ -39,11 +39,11 @@ static void exec_fuzz_one(FILE *f, FDSet *fdset) {
         DynamicCreds dynamic_creds = {};
         ExecCommand command = {};
         ExecSharedRuntime shared = {
-                .netns_storage_socket = PIPE_EBADF,
-                .ipcns_storage_socket = PIPE_EBADF,
+                .netns_storage_socket = EBADF_PAIR,
+                .ipcns_storage_socket = EBADF_PAIR,
         };
         ExecRuntime runtime = {
-                .ephemeral_storage_socket = PIPE_EBADF,
+                .ephemeral_storage_socket = EBADF_PAIR,
                 .shared = &shared,
                 .dynamic_creds = &dynamic_creds,
         };
index a9cfe9a7fd8099ead66ce24f0670add6030fe880..6b9ce2d2ec475ad251f5d01587caf37bc6a9ebbe 100644 (file)
@@ -911,7 +911,7 @@ int manager_new(RuntimeScope runtime_scope, ManagerTestRunFlags test_run_flags,
                 .notify_fd = -EBADF,
                 .cgroups_agent_fd = -EBADF,
                 .signal_fd = -EBADF,
-                .user_lookup_fds = PIPE_EBADF,
+                .user_lookup_fds = EBADF_PAIR,
                 .private_listen_fd = -EBADF,
                 .dev_autofs_fd = -EBADF,
                 .cgroup_inotify_fd = -EBADF,
index 54090251a90e33f2f2a5caf8f7faa095cb5e0f3f..c63576ce790eace0ce7d6a8f2bb8e3bee29599ae 100644 (file)
@@ -1532,7 +1532,7 @@ static int service_allocate_exec_fd(
                 sd_event_source **ret_event_source,
                 int *ret_exec_fd) {
 
-        _cleanup_close_pair_ int p[] = PIPE_EBADF;
+        _cleanup_close_pair_ int p[] = EBADF_PAIR;
         int r;
 
         assert(s);
index bb7164d255b3b9bd0a6a779d4d1946e5cfa3a4d4..55de5f96eb56c2c3c95eb41aba8b6ec3e6627a15 100644 (file)
@@ -1495,7 +1495,7 @@ static int socket_address_listen_in_cgroup(
                 const char *label) {
 
         _cleanup_(pidref_done) PidRef pid = PIDREF_NULL;
-        _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
         int fd, r;
 
         assert(s);
@@ -2986,7 +2986,7 @@ static int socket_accept_do(Socket *s, int fd) {
 
 static int socket_accept_in_cgroup(Socket *s, SocketPort *p, int fd) {
         _cleanup_(pidref_done) PidRef pid = PIDREF_NULL;
-        _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
         int cfd, r;
 
         assert(s);
index 40505e35f319491d68f1bd949487d7f538d56ef1..a67d425c14ee90ad84366ec767db7638d966d93e 100644 (file)
@@ -1402,7 +1402,7 @@ static int can_forward_coredump(pid_t pid) {
 
 static int forward_coredump_to_container(Context *context) {
         _cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, netnsfd = -EBADF, usernsfd = -EBADF, rootfd = -EBADF;
-        _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
         pid_t pid, child;
         struct ucred ucred = {
                 .pid = context->pid,
index c0d0994e1b2d868c62d8623204a8bab63bb1eea8..a09e7950cfcd034d703e9d966506308258db2775 100644 (file)
@@ -234,7 +234,7 @@ static int fsck_progress_socket(void) {
 }
 
 static int run(int argc, char *argv[]) {
-        _cleanup_close_pair_ int progress_pipe[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int progress_pipe[2] = EBADF_PAIR;
         _cleanup_(sd_device_unrefp) sd_device *dev = NULL;
         _cleanup_free_ char *dpath = NULL;
         _cleanup_fclose_ FILE *console = NULL;
index 18db78ce983d54b584ac96e95cec27ec2bb13e4b..dd63419ae1150f20ef51a8124cb283c5ffa31fa1 100644 (file)
@@ -85,7 +85,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
         struct iovec server_iov = IOVEC_MAKE((void*) data, size), client_iov = IOVEC_MAKE((void*) data, size);
         /* Important: the declaration order matters here! we want that the fds are closed on return after the
          * event sources, hence we declare the fds first, the event sources second */
-        _cleanup_close_pair_ int server_pair[2] = PIPE_EBADF, client_pair[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int server_pair[2] = EBADF_PAIR, client_pair[2] = EBADF_PAIR;
         _cleanup_(sd_event_source_unrefp) sd_event_source *idle_event_source = NULL,
                 *server_event_source = NULL, *client_event_source = NULL;
         _cleanup_(varlink_server_unrefp) VarlinkServer *s = NULL;
index 7227f885a8c5589db91feca47913e63936e356e4..3a7a42c6b336de519fb30107f732bed7bfc71340 100644 (file)
@@ -23,7 +23,7 @@
 #include "tmpfile-util.h"
 
 int import_fork_tar_x(const char *path, pid_t *ret) {
-        _cleanup_close_pair_ int pipefd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pipefd[2] = EBADF_PAIR;
         bool use_selinux;
         pid_t pid;
         int r;
@@ -92,7 +92,7 @@ int import_fork_tar_x(const char *path, pid_t *ret) {
 }
 
 int import_fork_tar_c(const char *path, pid_t *ret) {
-        _cleanup_close_pair_ int pipefd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pipefd[2] = EBADF_PAIR;
         bool use_selinux;
         pid_t pid;
         int r;
index a58587beb26fd4fdf04fd115232b154fb24b926d..c5b60c26041c408d9dfbb985696858fb949fdd2e 100644 (file)
@@ -357,7 +357,7 @@ static int transfer_on_log(sd_event_source *s, int fd, uint32_t revents, void *u
 }
 
 static int transfer_start(Transfer *t) {
-        _cleanup_close_pair_ int pipefd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pipefd[2] = EBADF_PAIR;
         int r;
 
         assert(t);
index a3d4bc8433a11159533e287da07fbabdab0c994a..44919a19c5ec4ed0161281fd55c65b397135b9e0 100644 (file)
@@ -380,7 +380,7 @@ static int verify_gpg(
                 const void *payload, size_t payload_size,
                 const void *signature, size_t signature_size) {
 
-        _cleanup_close_pair_ int gpg_pipe[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int gpg_pipe[2] = EBADF_PAIR;
         char sig_file_path[] = "/tmp/sigXXXXXX", gpg_home[] = "/tmp/gpghomeXXXXXX";
         _cleanup_(sigkill_waitp) pid_t pid = 0;
         bool gpg_home_created = false;
index d4032cdc513966a217c35bac10e05df960ff452f..6b2055f253918eaa1e951496fcc289b4ddd90019 100644 (file)
@@ -9,7 +9,7 @@
 #include "fuzz-journald.h"
 #include "journald-stream.h"
 
-static int stream_fds[2] = PIPE_EBADF;
+static int stream_fds[2] = EBADF_PAIR;
 
 int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
         Server s;
index b879e1b46915a7c4ddec837fe4c66249eef0af25..2d4284476c60cbd885fe985af14c9e4d36aedf2a 100644 (file)
@@ -10,7 +10,7 @@
 #include "fd-util.h"
 #include "fuzz.h"
 
-static int test_dhcp_fd[2] = PIPE_EBADF;
+static int test_dhcp_fd[2] = EBADF_PAIR;
 
 int dhcp6_network_send_udp_socket(int s, struct in6_addr *server_address, const void *packet, size_t len) {
         return len;
index 64f96ae2cbcf81b5ac6f46df4e61902d6e78a1b8..844957c069e0f7671d29f4d08c873babeb450168 100644 (file)
@@ -10,7 +10,7 @@
 #include "fuzz.h"
 #include "lldp-network.h"
 
-static int test_fd[2] = PIPE_EBADF;
+static int test_fd[2] = EBADF_PAIR;
 
 int lldp_network_bind_raw_socket(int ifindex) {
         if (socketpair(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC | SOCK_NONBLOCK, 0, test_fd) < 0)
index bbb3bc8cc6c47557a5d37e6153d24e42a3137032..95e050083bf2b91076811c1ddd7cab6618675134 100644 (file)
@@ -7,7 +7,7 @@
 #include "icmp6-util-unix.h"
 
 send_ra_t send_ra_function = NULL;
-int test_fd[2] = PIPE_EBADF;
+int test_fd[2] = EBADF_PAIR;
 
 static struct in6_addr dummy_link_local = {
         .s6_addr = {
index bf9c3f409e0b37ee3c142b9a634b535f311df602..109b23c6397c421526f58838b7c1ea64e7dc65c7 100644 (file)
@@ -73,7 +73,7 @@ static const uint8_t server_id[] = { SERVER_ID_BYTES };
 static const struct ether_addr mac = {
         .ether_addr_octet = { 'A', 'B', 'C', '1', '2', '3' },
 };
-static int test_fd[2] = PIPE_EBADF;
+static int test_fd[2] = EBADF_PAIR;
 static int test_ifindex = 42;
 static unsigned test_client_sent_message_count = 0;
 static sd_dhcp6_client *client_ref = NULL;
index 387e1e2203a45eac8fee44bb1756bc2348f04d1b..feb53b520c1ee3317486059dd14d44e123bdad41 100644 (file)
@@ -20,7 +20,7 @@
 #define TEST_LLDP_TYPE_SYSTEM_NAME "systemd-lldp"
 #define TEST_LLDP_TYPE_SYSTEM_DESC "systemd-lldp-desc"
 
-static int test_fd[2] = PIPE_EBADF;
+static int test_fd[2] = EBADF_PAIR;
 static int lldp_rx_handler_calls;
 
 int lldp_network_bind_raw_socket(int ifindex) {
index eddd634d8a653a19267da86c4288c17f737c6342..71581d718cb40d14e4a4cb043fbef70eddbbb498 100644 (file)
@@ -12,7 +12,7 @@
 #include "string-util.h"
 
 int bus_container_connect_socket(sd_bus *b) {
-        _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
         _cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, usernsfd = -EBADF, rootfd = -EBADF;
         int r, error_buf = 0;
         pid_t child;
index 1eb6edd3291d51ab6384f61ce15cfd63fa034d3b..74fa0ed746c36c290a1119c859eed9ec7bc75722 100644 (file)
@@ -211,7 +211,7 @@ int main(int argc, char *argv[]) {
                 MODE_CHART,
         } mode = MODE_BISECT;
         Type type = TYPE_LEGACY;
-        int i, pair[2] = PIPE_EBADF;
+        int i, pair[2] = EBADF_PAIR;
         _cleanup_free_ char *address = NULL, *server_name = NULL;
         _cleanup_close_ int bus_ref = -EBADF;
         const char *unique;
index 7abe129186b44f8f17d8ef31a0aeea8be020f22a..4b457fd76bab2dc629098b5893b8e4324f63f3cd 100644 (file)
@@ -212,7 +212,7 @@ static void* client1(void *p) {
         _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         const char *hello;
         int r;
-        _cleanup_close_pair_ int pp[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pp[2] = EBADF_PAIR;
         char x;
 
         r = sd_bus_open_user(&bus);
index 7c370ab7bc4db7ba0f0b7cdb8cb1dfa47ee6c2a1..6a60cde4bbc8f42efcc5685b68aba48f05e95317 100644 (file)
@@ -615,7 +615,7 @@ _public_ int sd_pid_notify_with_fds(
 }
 
 _public_ int sd_pid_notify_barrier(pid_t pid, int unset_environment, uint64_t timeout) {
-        _cleanup_close_pair_ int pipe_fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pipe_fd[2] = EBADF_PAIR;
         int r;
 
         if (pipe2(pipe_fd, O_CLOEXEC) < 0)
index fc918e3b5325249287a3f7c925e9994da3cf005f..63d3ee7284d79be6854dfc54bbd4ee768e8f3f96 100644 (file)
@@ -199,8 +199,8 @@ static void test_basic_one(bool with_pidfd) {
         sd_event *e = NULL;
         sd_event_source *w = NULL, *x = NULL, *y = NULL, *z = NULL, *q = NULL, *t = NULL;
         static const char ch = 'x';
-        int a[2] = PIPE_EBADF, b[2] = PIPE_EBADF,
-            d[2] = PIPE_EBADF, k[2] = PIPE_EBADF;
+        int a[2] = EBADF_PAIR, b[2] = EBADF_PAIR,
+            d[2] = EBADF_PAIR, k[2] = EBADF_PAIR;
         uint64_t event_now;
         int64_t priority;
 
@@ -629,7 +629,7 @@ static int ratelimit_expired(sd_event_source *s, void *userdata) {
 }
 
 TEST(ratelimit) {
-        _cleanup_close_pair_ int p[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int p[2] = EBADF_PAIR;
         _cleanup_(sd_event_unrefp) sd_event *e = NULL;
         _cleanup_(sd_event_source_unrefp) sd_event_source *s = NULL;
         uint64_t interval;
@@ -841,7 +841,7 @@ TEST(leave_ratelimit) {
         bool expect_ratelimit = false, manually_left_ratelimit = false;
         _cleanup_(sd_event_source_unrefp) sd_event_source *s = NULL;
         _cleanup_(sd_event_unrefp) sd_event *e = NULL;
-        _cleanup_close_pair_ int pfd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pfd[2] = EBADF_PAIR;
         unsigned c = 0;
         int r;
 
index fe4b52f6c684bc5ee30e91faa4a97a02770cc432..819f86f7446558026dac76677d4a7712e894dbfb 100644 (file)
@@ -39,7 +39,7 @@ static const char *e(int r) {
 }
 
 TEST(login) {
-        _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
         _cleanup_free_ char *pp = NULL, *qq = NULL,
                 *display_session = NULL, *cgroup = NULL,
                 *display = NULL, *remote_user = NULL, *remote_host = NULL,
index 336b42b7e5156b1f86a015d5539747cccf6797b0..aa4525ddbdaeeeb5e718c0beecea212ecc29b063 100644 (file)
@@ -31,7 +31,7 @@ int bus_image_method_remove(
                 void *userdata,
                 sd_bus_error *error) {
 
-        _cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int errno_pipe_fd[2] = EBADF_PAIR;
         Image *image = ASSERT_PTR(userdata);
         Manager *m = image->userdata;
         pid_t child;
@@ -145,7 +145,7 @@ int bus_image_method_clone(
                 void *userdata,
                 sd_bus_error *error) {
 
-        _cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int errno_pipe_fd[2] = EBADF_PAIR;
         Image *image = ASSERT_PTR(userdata);
         Manager *m = ASSERT_PTR(image->userdata);
         const char *new_name;
index 09302c0deec0c29e7666a4329d1236f1c51ee9fa..b9ac931cd45ec0acbd6f69c9b012a57ba35f614f 100644 (file)
@@ -223,7 +223,7 @@ int bus_machine_method_get_addresses(sd_bus_message *message, void *userdata, sd
         }
 
         case MACHINE_CONTAINER: {
-                _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+                _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
                 _cleanup_free_ char *us = NULL, *them = NULL;
                 _cleanup_close_ int netns_fd = -EBADF;
                 const char *p;
@@ -371,7 +371,7 @@ int bus_machine_method_get_os_release(sd_bus_message *message, void *userdata, s
 
         case MACHINE_CONTAINER: {
                 _cleanup_close_ int mntns_fd = -EBADF, root_fd = -EBADF, pidns_fd = -EBADF;
-                _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+                _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
                 _cleanup_fclose_ FILE *f = NULL;
                 pid_t child;
 
@@ -896,7 +896,7 @@ int bus_machine_method_bind_mount(sd_bus_message *message, void *userdata, sd_bu
 int bus_machine_method_copy(sd_bus_message *message, void *userdata, sd_bus_error *error) {
         _cleanup_free_ char *host_basename = NULL, *container_basename = NULL;
         const char *src, *dest, *host_path, *container_path;
-        _cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int errno_pipe_fd[2] = EBADF_PAIR;
         CopyFlags copy_flags = COPY_REFLINK|COPY_MERGE|COPY_HARDLINKS;
         _cleanup_close_ int hostfd = -EBADF;
         Machine *m = ASSERT_PTR(userdata);
@@ -1093,7 +1093,7 @@ int bus_machine_method_open_root_directory(sd_bus_message *message, void *userda
 
         case MACHINE_CONTAINER: {
                 _cleanup_close_ int mntns_fd = -EBADF, root_fd = -EBADF;
-                _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+                _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
                 pid_t child;
 
                 r = namespace_open(m->leader.pid, NULL, &mntns_fd, NULL, NULL, &root_fd);
index a12eb516cc5069c74b74752f64beb4464f74f535..9fec047385b509dcabaea02c5790f5ea902ad36c 100644 (file)
@@ -688,7 +688,7 @@ static int method_clean_pool(sd_bus_message *message, void *userdata, sd_bus_err
                 REMOVE_HIDDEN,
         } mode;
 
-        _cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int errno_pipe_fd[2] = EBADF_PAIR;
         _cleanup_close_ int result_fd = -EBADF;
         Manager *m = userdata;
         Operation *operation;
index f1bb8796443eb1ffa30f527d4450e51ccfd71520..37a75134f9246dcd561aac7aa20d7e97470591bf 100644 (file)
@@ -4762,8 +4762,8 @@ static int run_container(
         _cleanup_(release_lock_file) LockFile uid_shift_lock = LOCK_FILE_INIT;
         _cleanup_close_ int etc_passwd_lock = -EBADF;
         _cleanup_close_pair_ int
-                fd_inner_socket_pair[2] = PIPE_EBADF,
-                fd_outer_socket_pair[2] = PIPE_EBADF;
+                fd_inner_socket_pair[2] = EBADF_PAIR,
+                fd_outer_socket_pair[2] = EBADF_PAIR;
 
         _cleanup_close_ int notify_socket = -EBADF, mntns_fd = -EBADF, fd_kmsg_fifo = -EBADF;
         _cleanup_(barrier_destroy) Barrier barrier = BARRIER_NULL;
index 89d920077084218d49461e3d3fd0355b46ba3d4a..f283530dd93452740241647572e1f1b967ea2d2d 100644 (file)
@@ -369,7 +369,7 @@ static int portable_extract_by_path(
         else {
                 _cleanup_(dissected_image_unrefp) DissectedImage *m = NULL;
                 _cleanup_(rmdir_and_freep) char *tmpdir = NULL;
-                _cleanup_close_pair_ int seq[2] = PIPE_EBADF;
+                _cleanup_close_pair_ int seq[2] = EBADF_PAIR;
                 _cleanup_(sigkill_waitp) pid_t child = 0;
 
                 /* We now have a loopback block device, let's fork off a child in its own mount namespace, mount it
index f271d36db547e748a63409f1ed81a410034a0176..1f61c3b8c42c6c654dc1738c6667d8a074c40a28 100644 (file)
@@ -484,7 +484,7 @@ int bus_image_common_remove(
                 Image *image,
                 sd_bus_error *error) {
 
-        _cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int errno_pipe_fd[2] = EBADF_PAIR;
         _cleanup_(sigkill_waitp) pid_t child = 0;
         PortableState state;
         int r;
index 2fac0a9f44615267f9f2b513587e9be832119cc0..b939206d82214ad6556d8df388ce78aa5f67e62f 100644 (file)
@@ -26,7 +26,7 @@
 #define DATA_FD_TMP_LIMIT (1024U*1024U)
 
 int acquire_data_fd(const void *data, size_t size, unsigned flags) {
-        _cleanup_close_pair_ int pipefds[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pipefds[2] = EBADF_PAIR;
         _cleanup_close_ int fd = -EBADF;
         int isz = 0, r;
         ssize_t n;
@@ -206,7 +206,7 @@ int copy_data_fd(int fd) {
                         /* Hmm, pity, this didn't fit. Let's fall back to /tmp then, see below */
 
                 } else {
-                        _cleanup_close_pair_ int pipefds[2] = PIPE_EBADF;
+                        _cleanup_close_pair_ int pipefds[2] = EBADF_PAIR;
                         int isz;
 
                         /* If memfds aren't available, use a pipe. Set O_NONBLOCK so that we will get EAGAIN rather
index 0e1b76311300c41f30d825ecd63b0579e7ed417b..3fb5b1b74501d3ffcd3b71455e8c813749faaff8 100644 (file)
@@ -3377,7 +3377,7 @@ int dissected_image_acquire_metadata(DissectedImage *m, DissectImageFlags extra_
         };
 
         _cleanup_strv_free_ char **machine_info = NULL, **os_release = NULL, **initrd_release = NULL, **sysext_release = NULL, **confext_release = NULL;
-        _cleanup_close_pair_ int error_pipe[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int error_pipe[2] = EBADF_PAIR;
         _cleanup_(rmdir_and_freep) char *t = NULL;
         _cleanup_(sigkill_waitp) pid_t child = 0;
         sd_id128_t machine_id = SD_ID128_NULL;
index 5a4d3bbb50ba46431273d9d6cf5420311e02d3a3..24ed16e56b5a9d93de506d0f018000d8c88b4c9e 100644 (file)
@@ -739,9 +739,9 @@ static int parse_elf(int fd, const char *executable, char **ret, JsonVariant **r
 }
 
 int parse_elf_object(int fd, const char *executable, bool fork_disable_dump, char **ret, JsonVariant **ret_package_metadata) {
-        _cleanup_close_pair_ int error_pipe[2] = PIPE_EBADF,
-                                 return_pipe[2] = PIPE_EBADF,
-                                 json_pipe[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int error_pipe[2] = EBADF_PAIR,
+                                 return_pipe[2] = EBADF_PAIR,
+                                 json_pipe[2] = EBADF_PAIR;
         _cleanup_(json_variant_unrefp) JsonVariant *package_metadata = NULL;
         _cleanup_free_ char *buf = NULL;
         int r;
index c90400b81955c1cfe39d6e6211bccb0c9c44e788..d3053ceabbbfa1919dc9e8bbe4b8ffb1c0ec7d3b 100644 (file)
@@ -1671,7 +1671,7 @@ int add_matches_for_user_unit(sd_journal *j, const char *unit, uid_t uid) {
 }
 
 static int get_boot_id_for_machine(const char *machine, sd_id128_t *boot_id) {
-        _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
         _cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, rootfd = -EBADF;
         char buf[SD_ID128_UUID_STRING_MAX];
         pid_t pid, child;
index e497035d41a4c3521ee1ab157bc0050db02141eb..b4bee7af85702959acf5ba1dc6bad12f39ab5cc5 100644 (file)
@@ -852,7 +852,7 @@ static int mount_in_namespace_legacy(
                 const ImagePolicy *image_policy,
                 bool is_image) {
 
-        _cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int errno_pipe_fd[2] = EBADF_PAIR;
         char mount_slave[] = "/tmp/propagate.XXXXXX", *mount_tmp, *mount_outside, *p;
         bool mount_slave_created = false, mount_slave_mounted = false,
                 mount_tmp_created = false, mount_tmp_mounted = false,
@@ -1079,7 +1079,7 @@ static int mount_in_namespace(
                 bool is_image) {
 
         _cleanup_(dissected_image_unrefp) DissectedImage *img = NULL;
-        _cleanup_close_pair_ int errno_pipe_fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int errno_pipe_fd[2] = EBADF_PAIR;
         _cleanup_close_ int mntns_fd = -EBADF, root_fd = -EBADF, pidns_fd = -EBADF, chased_src_fd = -EBADF,
                             new_mount_fd = -EBADF;
         _cleanup_free_ char *chased_src_path = NULL;
index 2cd9a353e33d8b67d500dbae952c3b0a2b3c6c87..2e9c82cde7700d9de2a18944e0a9497f1f7181a2 100644 (file)
@@ -83,7 +83,7 @@ static int no_quit_on_interrupt(int exe_name_fd, const char *less_opts) {
 }
 
 void pager_open(PagerFlags flags) {
-        _cleanup_close_pair_ int fd[2] = PIPE_EBADF, exe_name_pipe[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int fd[2] = EBADF_PAIR, exe_name_pipe[2] = EBADF_PAIR;
         _cleanup_strv_free_ char **pager_args = NULL;
         _cleanup_free_ char *l = NULL;
         const char *pager, *less_opts;
index 3ecc7502f37e5c7b5a99139f8cb497be8aaaba76..ae3a1bee28f9b96078207e62cadcad8c61eae9a6 100644 (file)
@@ -420,7 +420,7 @@ int varlink_connect_address(Varlink **ret, const char *address) {
 }
 
 int varlink_connect_exec(Varlink **ret, const char *_command, char **_argv) {
-        _cleanup_close_pair_ int pair[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pair[2] = EBADF_PAIR;
         _cleanup_(sigkill_waitp) pid_t pid = 0;
         _cleanup_free_ char *command = NULL;
         _cleanup_strv_free_ char **argv = NULL;
index 70585523ae73e0c67e9bb22407dd1acfe32bfc90..1a9b99d76184b32ee2328978515b997bfa4f05a5 100644 (file)
@@ -241,7 +241,7 @@ static void log_umount_blockers(const char *mnt) {
 }
 
 static int remount_with_timeout(MountPoint *m, bool last_try) {
-        _cleanup_close_pair_ int pfd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pfd[2] = EBADF_PAIR;
         _cleanup_(sigkill_nowaitp) pid_t pid = 0;
         int r;
 
@@ -297,7 +297,7 @@ static int remount_with_timeout(MountPoint *m, bool last_try) {
 }
 
 static int umount_with_timeout(MountPoint *m, bool last_try) {
-        _cleanup_close_pair_ int pfd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pfd[2] = EBADF_PAIR;
         _cleanup_(sigkill_nowaitp) pid_t pid = 0;
         int r;
 
index f336fbd55ed44234f0884ba53631872b494ceb0c..287fd6c181465b839eeaaaaacccb215567b20a60 100644 (file)
@@ -488,8 +488,8 @@ static int add_connection_socket(Context *context, int fd) {
                .context = context,
                .server_fd = fd,
                .client_fd = -EBADF,
-               .server_to_client_buffer = PIPE_EBADF,
-               .client_to_server_buffer = PIPE_EBADF,
+               .server_to_client_buffer = EBADF_PAIR,
+               .client_to_server_buffer = EBADF_PAIR,
         };
 
         r = set_ensure_put(&context->connections, NULL, c);
index da657034ea31a2e616e9cdc49fe6de554d2bc9ab..197b530a0224f55a4e8df77485789085ffb13768 100644 (file)
@@ -267,7 +267,7 @@ static int download_manifest(
                 size_t *ret_size) {
 
         _cleanup_free_ char *buffer = NULL, *suffixed_url = NULL;
-        _cleanup_close_pair_ int pfd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pfd[2] = EBADF_PAIR;
         _cleanup_fclose_ FILE *manifest = NULL;
         size_t size = 0;
         pid_t pid;
index a46dd309bdfba57c5b0840dc26f191379944ceb3..f3144f0c073020aa1c60cf70f381d0153439d5da 100644 (file)
@@ -254,7 +254,7 @@ TEST(copy_tree) {
 }
 
 TEST(copy_bytes) {
-        _cleanup_close_pair_ int pipefd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pipefd[2] = EBADF_PAIR;
         _cleanup_close_ int infd = -EBADF;
         int r, r2;
         char buf[1024], buf2[1024];
index c5a4b0846936827bd26ba6576b9b41bee982494c..d3bb0e3f5f844acd40a18ea7d378907d0eb6fc8d 100644 (file)
@@ -81,7 +81,7 @@ static void assert_equal_fd(int fd1, int fd2) {
 
 TEST(copy_data_fd) {
         _cleanup_close_ int fd1 = -EBADF, fd2 = -EBADF;
-        _cleanup_close_pair_ int sfd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int sfd[2] = EBADF_PAIR;
         _cleanup_(sigkill_waitp) pid_t pid = -1;
         int r;
 
index 417e484fc985e99616b79ebfa0b6c47f0be81e49..6156c9caa7097a2330a57e6e58db8a2103da2329 100644 (file)
@@ -585,7 +585,7 @@ static int find_libraries(const char *exec, char ***ret) {
         _cleanup_(sd_event_source_unrefp) sd_event_source *sigchld_source = NULL;
         _cleanup_(sd_event_source_unrefp) sd_event_source *stdout_source = NULL;
         _cleanup_(sd_event_source_unrefp) sd_event_source *stderr_source = NULL;
-        _cleanup_close_pair_ int outpipe[2] = PIPE_EBADF, errpipe[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int outpipe[2] = EBADF_PAIR, errpipe[2] = EBADF_PAIR;
         _cleanup_strv_free_ char **libraries = NULL;
         _cleanup_free_ char *result = NULL;
         pid_t pid;
index 67ec3e59f1f93a3267c82585ac6f66002ff85a7c..9c74d88abc46c43f2bf7698c6ed78c66238b6b3f 100644 (file)
@@ -561,7 +561,7 @@ TEST(fd_reopen_condition) {
 
 TEST(take_fd) {
         _cleanup_close_ int fd1 = -EBADF, fd2 = -EBADF;
-        int array[2] = PIPE_EBADF, i = 0;
+        int array[2] = EBADF_PAIR, i = 0;
 
         assert_se(fd1 == -EBADF);
         assert_se(fd2 == -EBADF);
index c11a55a67e1d3ca70434bb0839ebc865e88ec302..69928f3de00e7a1282038ecab8180b7b9535f610 100644 (file)
@@ -188,7 +188,7 @@ TEST(real_pressure) {
         _cleanup_(sd_event_source_unrefp) sd_event_source *es = NULL, *cs = NULL;
         _cleanup_(bus_wait_for_jobs_freep) BusWaitForJobs *w = NULL;
         _cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
-        _cleanup_close_pair_ int pipe_fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int pipe_fd[2] = EBADF_PAIR;
         _cleanup_(sd_event_unrefp) sd_event *e = NULL;
         _cleanup_free_ char *scope = NULL;
         const char *object;
index 1c99c69d5f0bc8ba16c2a9e1ea5eedc0273af950..130c870602f2cb2461c8110b0ad5fe68f505287f 100644 (file)
@@ -83,7 +83,7 @@ TEST(tmpdir) {
 }
 
 static void test_shareable_ns(unsigned long nsflag) {
-        _cleanup_close_pair_ int s[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int s[2] = EBADF_PAIR;
         pid_t pid1, pid2, pid3;
         int r, n = 0;
         siginfo_t si;
index 524bcceb970e8725386c0de20e9236d85dece64e..22fb1fd278795cb5e8bf6a07b9af4c38d481b9b2 100644 (file)
@@ -859,7 +859,7 @@ TEST(get_process_threads) {
         assert_se(r >= 0);
 
         if (r == 0) {
-                _cleanup_close_pair_ int pfd[2] = PIPE_EBADF, ppfd[2] = PIPE_EBADF;
+                _cleanup_close_pair_ int pfd[2] = EBADF_PAIR, ppfd[2] = EBADF_PAIR;
                 pthread_t t, tt;
                 char x;
 
index 3372805aa18ebcda2402170f77065e10980e2b5e..b5fb437c5bb6c1b6c93a34e29acecd21219de46e 100644 (file)
@@ -333,7 +333,7 @@ TEST(pass_many_fds_contents_read) {
                         "/tmp/test-socket-util-passfd-contents-read-XXXXXX",
                         "/tmp/test-socket-util-passfd-contents-read-XXXXXX"
                 };
-                int tmpfds[3] = { -EBADF, -EBADF, -EBADF };
+                int tmpfds[3] = EBADF_TRIPLET;
 
                 pair[0] = safe_close(pair[0]);
 
index ff3033a6b4d3f3c862b226045c8188fc7456f8c9..670fc0515d7175ff88bc07d370417319c46c4619 100644 (file)
@@ -296,7 +296,7 @@ static void* server_thread(void *userdata) {
 }
 
 TEST(validate_method_call) {
-        _cleanup_close_pair_ int fd[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int fd[2] = EBADF_PAIR;
         _cleanup_(varlink_unrefp) Varlink *v = NULL;
         pthread_t t;
 
index 8359ab18921eb54eb57e6532eed5dee49192d892..b66c5df8a1bb1eea980c146a3a686bd05e3bdb37 100644 (file)
@@ -324,7 +324,7 @@ int main(int argc, char *argv[]) {
         _cleanup_(rm_rf_physical_and_freep) char *tmpdir = NULL;
         _cleanup_(json_variant_unrefp) JsonVariant *v = NULL;
         _cleanup_(sd_event_unrefp) sd_event *e = NULL;
-        _cleanup_close_pair_ int block_fds[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int block_fds[2] = EBADF_PAIR;
         pthread_t t;
         const char *sp;
 
index dab36c905791eafbab91a2fde61947ee2b78c06d..697dc2f14f44a6777a5fbd03d5f82639b8d3270a 100644 (file)
@@ -1197,7 +1197,7 @@ Manager* manager_new(void) {
 
         *manager = (Manager) {
                 .inotify_fd = -EBADF,
-                .worker_watch = PIPE_EBADF,
+                .worker_watch = EBADF_PAIR,
                 .log_level = LOG_INFO,
                 .resolve_name_timing = RESOLVE_NAME_EARLY,
                 .timeout_usec = 180 * USEC_PER_SEC,
index f90b9c62a12b40651f7f667bbe106954a63b27ed..9501013d1c786be90f6b289e624eadb50df4a36c 100644 (file)
@@ -230,7 +230,7 @@ int udev_event_spawn(
                 size_t ressize,
                 bool *ret_truncated) {
 
-        _cleanup_close_pair_ int outpipe[2] = PIPE_EBADF, errpipe[2] = PIPE_EBADF;
+        _cleanup_close_pair_ int outpipe[2] = EBADF_PAIR, errpipe[2] = EBADF_PAIR;
         _cleanup_strv_free_ char **argv = NULL;
         char **envp = NULL;
         Spawn spawn;