Merge pull request #25786 from keszybz/ebadf
Use -EBADF for fd initialization
This commit is contained in:
@@ -3,17 +3,17 @@
|
||||
expression fd;
|
||||
@@
|
||||
- close(fd);
|
||||
- fd = -1;
|
||||
- fd = -EBADF;
|
||||
+ fd = safe_close(fd);
|
||||
@@
|
||||
expression fd;
|
||||
@@
|
||||
- close_nointr(fd);
|
||||
- fd = -1;
|
||||
- fd = -EBADF;
|
||||
+ fd = safe_close(fd);
|
||||
@@
|
||||
expression fd;
|
||||
@@
|
||||
- safe_close(fd);
|
||||
- fd = -1;
|
||||
- fd = -EBADF;
|
||||
+ fd = safe_close(fd);
|
||||
|
||||
@@ -213,7 +213,7 @@ int lock_whole_disk_from_devname(const char *devname, int open_flags, int flock_
|
||||
|
||||
// take the fd to avoid automatic cleanup
|
||||
int ret_fd = fd;
|
||||
fd = -1;
|
||||
fd = -EBADF;
|
||||
return ret_fd;
|
||||
}
|
||||
|
||||
|
||||
@@ -233,7 +233,7 @@ static int fork_and_exec_process(const char *child, char **argv, int fd) {
|
||||
|
||||
static int do_accept(const char *name, char **argv, int fd) {
|
||||
_cleanup_free_ char *local = NULL, *peer = NULL;
|
||||
_cleanup_close_ int fd_accepted = -1;
|
||||
_cleanup_close_ int fd_accepted = -EBADF;
|
||||
|
||||
fd_accepted = accept4(fd, NULL, NULL, 0);
|
||||
if (fd_accepted < 0) {
|
||||
@@ -434,7 +434,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
int r, n;
|
||||
int epoll_fd = -1;
|
||||
int epoll_fd = -EBADF;
|
||||
|
||||
log_show_color(true);
|
||||
log_parse_environment();
|
||||
|
||||
@@ -18,7 +18,7 @@ static int analyze_elf(char **filenames, JsonFormatFlags json_flags) {
|
||||
_cleanup_(json_variant_unrefp) JsonVariant *package_metadata = NULL;
|
||||
_cleanup_(table_unrefp) Table *t = NULL;
|
||||
_cleanup_free_ char *abspath = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
r = path_make_absolute_cwd(*filename, &abspath);
|
||||
if (r < 0)
|
||||
|
||||
@@ -80,7 +80,7 @@ int chase_symlinks_at(
|
||||
int *ret_fd) {
|
||||
|
||||
_cleanup_free_ char *buffer = NULL, *done = NULL;
|
||||
_cleanup_close_ int fd = -1, root_fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF, root_fd = -EBADF;
|
||||
unsigned max_follow = CHASE_SYMLINKS_MAX; /* how many symlinks to follow before giving up and returning ELOOP */
|
||||
bool exists = true, append_trail_slash = false;
|
||||
struct stat previous_stat;
|
||||
@@ -227,7 +227,7 @@ int chase_symlinks_at(
|
||||
/* Two dots? Then chop off the last bit of what we already found out. */
|
||||
if (path_equal(first, "..")) {
|
||||
_cleanup_free_ char *parent = NULL;
|
||||
_cleanup_close_ int fd_parent = -1;
|
||||
_cleanup_close_ int fd_parent = -EBADF;
|
||||
|
||||
/* If we already are at the top, then going up will not change anything. This is
|
||||
* in-line with how the kernel handles this. */
|
||||
@@ -415,7 +415,7 @@ int chase_symlinks(
|
||||
int *ret_fd) {
|
||||
|
||||
_cleanup_free_ char *root = NULL, *absolute = NULL, *p = NULL;
|
||||
_cleanup_close_ int fd = -1, pfd = -1;
|
||||
_cleanup_close_ int fd = -EBADF, pfd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(path);
|
||||
@@ -496,7 +496,7 @@ int chase_symlinks_and_open(
|
||||
int open_flags,
|
||||
char **ret_path) {
|
||||
|
||||
_cleanup_close_ int path_fd = -1;
|
||||
_cleanup_close_ int path_fd = -EBADF;
|
||||
_cleanup_free_ char *p = NULL;
|
||||
int r;
|
||||
|
||||
@@ -534,7 +534,7 @@ int chase_symlinks_and_opendir(
|
||||
char **ret_path,
|
||||
DIR **ret_dir) {
|
||||
|
||||
_cleanup_close_ int path_fd = -1;
|
||||
_cleanup_close_ int path_fd = -EBADF;
|
||||
_cleanup_free_ char *p = NULL;
|
||||
DIR *d;
|
||||
int r;
|
||||
@@ -578,7 +578,7 @@ int chase_symlinks_and_stat(
|
||||
struct stat *ret_stat,
|
||||
int *ret_fd) {
|
||||
|
||||
_cleanup_close_ int path_fd = -1;
|
||||
_cleanup_close_ int path_fd = -EBADF;
|
||||
_cleanup_free_ char *p = NULL;
|
||||
int r;
|
||||
|
||||
@@ -621,7 +621,7 @@ int chase_symlinks_and_access(
|
||||
char **ret_path,
|
||||
int *ret_fd) {
|
||||
|
||||
_cleanup_close_ int path_fd = -1;
|
||||
_cleanup_close_ int path_fd = -EBADF;
|
||||
_cleanup_free_ char *p = NULL;
|
||||
int r;
|
||||
|
||||
@@ -665,7 +665,7 @@ int chase_symlinks_and_fopen_unlocked(
|
||||
FILE **ret_file) {
|
||||
|
||||
_cleanup_free_ char *final_path = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int mode_flags, r;
|
||||
|
||||
assert(path);
|
||||
|
||||
@@ -20,7 +20,7 @@ int chattr_full(const char *path,
|
||||
unsigned *ret_final,
|
||||
ChattrApplyFlags flags) {
|
||||
|
||||
_cleanup_close_ int fd_will_close = -1;
|
||||
_cleanup_close_ int fd_will_close = -EBADF;
|
||||
unsigned old_attr, new_attr;
|
||||
int set_flags_errno = 0;
|
||||
struct stat st;
|
||||
@@ -149,7 +149,7 @@ int read_attr_fd(int fd, unsigned *ret) {
|
||||
}
|
||||
|
||||
int read_attr_path(const char *p, unsigned *ret) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
assert(p);
|
||||
assert(ret);
|
||||
|
||||
+2
-2
@@ -37,7 +37,7 @@ int efi_get_variable(
|
||||
void **ret_value,
|
||||
size_t *ret_size) {
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
_cleanup_free_ void *buf = NULL;
|
||||
struct stat st;
|
||||
usec_t begin = 0; /* Unnecessary initialization to appease gcc */
|
||||
@@ -181,7 +181,7 @@ int efi_set_variable(const char *variable, const void *value, size_t size) {
|
||||
uint32_t attr;
|
||||
char buf[];
|
||||
} _packed_ * _cleanup_free_ buf = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
uint32_t attr = EFI_VARIABLE_NON_VOLATILE|EFI_VARIABLE_BOOTSERVICE_ACCESS|EFI_VARIABLE_RUNTIME_ACCESS;
|
||||
bool saved_flags_valid = false;
|
||||
unsigned saved_flags;
|
||||
|
||||
@@ -381,7 +381,7 @@ int parse_env_file_fd_sentinel(
|
||||
const char *fname, /* only used for logging */
|
||||
...) {
|
||||
|
||||
_cleanup_close_ int fd_ro = -EBADFD;
|
||||
_cleanup_close_ int fd_ro = -EBADF;
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
va_list ap;
|
||||
int r;
|
||||
|
||||
+25
-29
@@ -56,11 +56,9 @@ int close_nointr(int fd) {
|
||||
}
|
||||
|
||||
int safe_close(int fd) {
|
||||
|
||||
/*
|
||||
* Like close_nointr() but cannot fail. Guarantees errno is
|
||||
* unchanged. Is a NOP with negative fds passed, and returns
|
||||
* -1, so that it can be used in this syntax:
|
||||
* Like close_nointr() but cannot fail. Guarantees errno is unchanged. Is a noop for negative fds,
|
||||
* and returns -EBADF, so that it can be used in this syntax:
|
||||
*
|
||||
* fd = safe_close(fd);
|
||||
*/
|
||||
@@ -76,7 +74,7 @@ int safe_close(int fd) {
|
||||
assert_se(close_nointr(fd) != -EBADF);
|
||||
}
|
||||
|
||||
return -1;
|
||||
return -EBADF;
|
||||
}
|
||||
|
||||
void safe_close_pair(int p[static 2]) {
|
||||
@@ -412,7 +410,7 @@ int close_all_fds(const int except[], size_t n_except) {
|
||||
return close_all_fds_frugal(except, n_except); /* ultimate fallback if /proc/ is not available */
|
||||
|
||||
FOREACH_DIRENT(de, d, return -errno) {
|
||||
int fd = -1, q;
|
||||
int fd = -EBADF, q;
|
||||
|
||||
if (!IN_SET(de->d_type, DT_LNK, DT_UNKNOWN))
|
||||
continue;
|
||||
@@ -631,25 +629,23 @@ int fd_move_above_stdio(int fd) {
|
||||
}
|
||||
|
||||
int rearrange_stdio(int original_input_fd, int original_output_fd, int original_error_fd) {
|
||||
|
||||
int fd[3] = { /* Put together an array of fds we work on */
|
||||
original_input_fd,
|
||||
original_output_fd,
|
||||
original_error_fd
|
||||
};
|
||||
|
||||
int r, i,
|
||||
null_fd = -1, /* if we open /dev/null, we store the fd to it here */
|
||||
copy_fd[3] = { -1, -1, -1 }; /* This contains all fds we duplicate here temporarily, and hence need to close at the end */
|
||||
int fd[3] = { original_input_fd, /* Put together an array of fds we work on */
|
||||
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
|
||||
* temporarily, and hence need to close at the end. */
|
||||
r;
|
||||
bool null_readable, null_writable;
|
||||
|
||||
/* Sets up stdin, stdout, stderr with the three file descriptors passed in. If any of the descriptors is
|
||||
* specified as -1 it will be connected with /dev/null instead. If any of the file descriptors is passed as
|
||||
* itself (e.g. stdin as STDIN_FILENO) it is left unmodified, but the O_CLOEXEC bit is turned off should it be
|
||||
* on.
|
||||
/* Sets up stdin, stdout, stderr with the three file descriptors passed in. If any of the descriptors
|
||||
* is specified as -EBADF it will be connected with /dev/null instead. If any of the file descriptors
|
||||
* is passed as itself (e.g. stdin as STDIN_FILENO) it is left unmodified, but the O_CLOEXEC bit is
|
||||
* turned off should it be on.
|
||||
*
|
||||
* Note that if any of the passed file descriptors are > 2 they will be closed — both on success and on
|
||||
* failure! Thus, callers should assume that when this function returns the input fds are invalidated.
|
||||
* Note that if any of the passed file descriptors are > 2 they will be closed — both on success and
|
||||
* on failure! Thus, callers should assume that when this function returns the input fds are
|
||||
* invalidated.
|
||||
*
|
||||
* Note that when this function fails stdin/stdout/stderr might remain half set up!
|
||||
*
|
||||
@@ -685,7 +681,7 @@ int rearrange_stdio(int original_input_fd, int original_output_fd, int original_
|
||||
}
|
||||
|
||||
/* Let's assemble fd[] with the fds to install in place of stdin/stdout/stderr */
|
||||
for (i = 0; i < 3; i++) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
|
||||
if (fd[i] < 0)
|
||||
fd[i] = null_fd; /* A negative parameter means: connect this one to /dev/null */
|
||||
@@ -701,10 +697,10 @@ int rearrange_stdio(int original_input_fd, int original_output_fd, int original_
|
||||
}
|
||||
}
|
||||
|
||||
/* At this point we now have the fds to use in fd[], and they are all above the stdio range, so that we
|
||||
* have freedom to move them around. If the fds already were at the right places then the specific fds are
|
||||
* -1. Let's now move them to the right places. This is the point of no return. */
|
||||
for (i = 0; i < 3; i++) {
|
||||
/* At this point we now have the fds to use in fd[], and they are all above the stdio range, so that
|
||||
* we have freedom to move them around. If the fds already were at the right places then the specific
|
||||
* fds are -EBADF. Let's now move them to the right places. This is the point of no return. */
|
||||
for (int i = 0; i < 3; i++) {
|
||||
|
||||
if (fd[i] == i) {
|
||||
|
||||
@@ -735,7 +731,7 @@ finish:
|
||||
safe_close_above_stdio(original_error_fd);
|
||||
|
||||
/* Close the copies we moved > 2 */
|
||||
for (i = 0; i < 3; i++)
|
||||
for (int i = 0; i < 3; i++)
|
||||
safe_close(copy_fd[i]);
|
||||
|
||||
/* Close our null fd, if it's > 2 */
|
||||
@@ -800,7 +796,7 @@ int fd_reopen_condition(
|
||||
return -errno;
|
||||
|
||||
if ((r & mask) == (flags & mask)) {
|
||||
*ret_new_fd = -1;
|
||||
*ret_new_fd = -EBADF;
|
||||
return fd;
|
||||
}
|
||||
|
||||
|
||||
+1
-1
@@ -94,7 +94,7 @@ static inline int make_null_stdio(void) {
|
||||
({ \
|
||||
int *_fd_ = &(fd); \
|
||||
int _ret_ = *_fd_; \
|
||||
*_fd_ = -1; \
|
||||
*_fd_ = -EBADF; \
|
||||
_ret_; \
|
||||
})
|
||||
|
||||
|
||||
+5
-5
@@ -80,7 +80,7 @@ int take_fdopen_unlocked(int *fd, const char *options, FILE **ret) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
*fd = -1;
|
||||
*fd = -EBADF;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -92,7 +92,7 @@ FILE* take_fdopen(int *fd, const char *options) {
|
||||
if (!f)
|
||||
return NULL;
|
||||
|
||||
*fd = -1;
|
||||
*fd = -EBADF;
|
||||
|
||||
return f;
|
||||
}
|
||||
@@ -104,7 +104,7 @@ DIR* take_fdopendir(int *dfd) {
|
||||
if (!d)
|
||||
return NULL;
|
||||
|
||||
*dfd = -1;
|
||||
*dfd = -EBADF;
|
||||
|
||||
return d;
|
||||
}
|
||||
@@ -136,7 +136,7 @@ int write_string_stream_ts(
|
||||
const struct timespec *ts) {
|
||||
|
||||
bool needs_nl;
|
||||
int r, fd = -1;
|
||||
int r, fd = -EBADF;
|
||||
|
||||
assert(f);
|
||||
assert(line);
|
||||
@@ -558,7 +558,7 @@ int read_virtual_file_at(
|
||||
char **ret_contents,
|
||||
size_t *ret_size) {
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
|
||||
|
||||
|
||||
+5
-5
@@ -195,7 +195,7 @@ int readlink_and_make_absolute(const char *p, char **r) {
|
||||
}
|
||||
|
||||
int chmod_and_chown_at(int dir_fd, const char *path, mode_t mode, uid_t uid, gid_t gid) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
|
||||
|
||||
@@ -360,7 +360,7 @@ int fd_warn_permissions(const char *path, int fd) {
|
||||
}
|
||||
|
||||
int touch_file(const char *path, bool parents, usec_t stamp, uid_t uid, gid_t gid, mode_t mode) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r, ret;
|
||||
|
||||
assert(path);
|
||||
@@ -684,7 +684,7 @@ void unlink_tempfilep(char (*p)[]) {
|
||||
}
|
||||
|
||||
int unlinkat_deallocate(int fd, const char *name, UnlinkDeallocateFlags flags) {
|
||||
_cleanup_close_ int truncate_fd = -1;
|
||||
_cleanup_close_ int truncate_fd = -EBADF;
|
||||
struct stat st;
|
||||
off_t l, bs;
|
||||
|
||||
@@ -815,7 +815,7 @@ int conservative_renameat(
|
||||
int olddirfd, const char *oldpath,
|
||||
int newdirfd, const char *newpath) {
|
||||
|
||||
_cleanup_close_ int old_fd = -1, new_fd = -1;
|
||||
_cleanup_close_ int old_fd = -EBADF, new_fd = -EBADF;
|
||||
struct stat old_stat, new_stat;
|
||||
|
||||
/* Renames the old path to thew new path, much like renameat() — except if both are regular files and
|
||||
@@ -997,7 +997,7 @@ int parse_cifs_service(
|
||||
}
|
||||
|
||||
int open_mkdir_at(int dirfd, const char *path, int flags, mode_t mode) {
|
||||
_cleanup_close_ int fd = -1, parent_fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF, parent_fd = -EBADF;
|
||||
_cleanup_free_ char *fname = NULL;
|
||||
bool made;
|
||||
int r;
|
||||
|
||||
@@ -95,7 +95,7 @@ static int add_locales_from_archive(Set *locales) {
|
||||
const struct locarhead *h;
|
||||
const struct namehashent *e;
|
||||
const void *p = MAP_FAILED;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
size_t sz = 0;
|
||||
struct stat st;
|
||||
int r;
|
||||
|
||||
+4
-4
@@ -48,9 +48,9 @@ static int log_max_level = LOG_INFO;
|
||||
static int log_facility = LOG_DAEMON;
|
||||
|
||||
static int console_fd = STDERR_FILENO;
|
||||
static int syslog_fd = -1;
|
||||
static int kmsg_fd = -1;
|
||||
static int journal_fd = -1;
|
||||
static int syslog_fd = -EBADF;
|
||||
static int kmsg_fd = -EBADF;
|
||||
static int journal_fd = -EBADF;
|
||||
|
||||
static bool syslog_is_stream = false;
|
||||
|
||||
@@ -345,7 +345,7 @@ void log_close(void) {
|
||||
void log_forget_fds(void) {
|
||||
/* Do not call from library code. */
|
||||
|
||||
console_fd = kmsg_fd = syslog_fd = journal_fd = -1;
|
||||
console_fd = kmsg_fd = syslog_fd = journal_fd = -EBADF;
|
||||
}
|
||||
|
||||
void log_set_max_level(int level) {
|
||||
|
||||
@@ -113,7 +113,7 @@ int memfd_set_size(int fd, uint64_t sz) {
|
||||
}
|
||||
|
||||
int memfd_new_and_map(const char *name, size_t sz, void **p) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(sz > 0);
|
||||
|
||||
+2
-2
@@ -211,7 +211,7 @@ int mkdir_p_safe(const char *prefix, const char *path, mode_t mode, uid_t uid, g
|
||||
|
||||
int mkdir_p_root(const char *root, const char *p, uid_t uid, gid_t gid, mode_t m) {
|
||||
_cleanup_free_ char *pp = NULL, *bn = NULL;
|
||||
_cleanup_close_ int dfd = -1;
|
||||
_cleanup_close_ int dfd = -EBADF;
|
||||
int r;
|
||||
|
||||
r = path_extract_directory(p, &pp);
|
||||
@@ -250,7 +250,7 @@ int mkdir_p_root(const char *root, const char *p, uid_t uid, gid_t gid, mode_t m
|
||||
}
|
||||
|
||||
if (uid_is_valid(uid) || gid_is_valid(gid)) {
|
||||
_cleanup_close_ int nfd = -1;
|
||||
_cleanup_close_ int nfd = -EBADF;
|
||||
|
||||
nfd = openat(dfd, bn, O_RDONLY|O_CLOEXEC|O_DIRECTORY|O_NOFOLLOW);
|
||||
if (nfd < 0)
|
||||
|
||||
@@ -97,7 +97,7 @@ int name_to_handle_at_loop(
|
||||
static int fd_fdinfo_mnt_id(int fd, const char *filename, int flags, int *ret_mnt_id) {
|
||||
char path[STRLEN("/proc/self/fdinfo/") + DECIMAL_STR_MAX(int)];
|
||||
_cleanup_free_ char *fdinfo = NULL;
|
||||
_cleanup_close_ int subfd = -1;
|
||||
_cleanup_close_ int subfd = -EBADF;
|
||||
char *p;
|
||||
int r;
|
||||
|
||||
@@ -322,7 +322,7 @@ fallback_fstat:
|
||||
/* flags can be AT_SYMLINK_FOLLOW or 0 */
|
||||
int path_is_mount_point(const char *t, const char *root, int flags) {
|
||||
_cleanup_free_ char *canonical = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(t);
|
||||
@@ -550,7 +550,7 @@ int mount_nofollow(
|
||||
unsigned long mountflags,
|
||||
const void *data) {
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
/* In almost all cases we want to manipulate the mount table without following symlinks, hence
|
||||
* mount_nofollow() is usually the way to go. The only exceptions are environments where /proc/ is
|
||||
|
||||
@@ -34,8 +34,8 @@ const struct namespace_info namespace_info[] = {
|
||||
#define pid_namespace_path(pid, type) procfs_file_alloca(pid, namespace_info[type].proc_path)
|
||||
|
||||
int namespace_open(pid_t pid, int *pidns_fd, int *mntns_fd, int *netns_fd, int *userns_fd, int *root_fd) {
|
||||
_cleanup_close_ int pidnsfd = -1, mntnsfd = -1, netnsfd = -1, usernsfd = -1;
|
||||
int rfd = -1;
|
||||
_cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, netnsfd = -EBADF, usernsfd = -EBADF;
|
||||
int rfd = -EBADF;
|
||||
|
||||
assert(pid >= 0);
|
||||
|
||||
@@ -113,7 +113,7 @@ int namespace_enter(int pidns_fd, int mntns_fd, int netns_fd, int userns_fd, int
|
||||
if (r < 0)
|
||||
return r;
|
||||
if (r)
|
||||
userns_fd = -1;
|
||||
userns_fd = -EBADF;
|
||||
}
|
||||
|
||||
if (pidns_fd >= 0)
|
||||
@@ -202,7 +202,7 @@ int detach_mount_namespace(void) {
|
||||
int userns_acquire(const char *uid_map, const char *gid_map) {
|
||||
char path[STRLEN("/proc//uid_map") + DECIMAL_STR_MAX(pid_t) + 1];
|
||||
_cleanup_(sigkill_waitp) pid_t pid = 0;
|
||||
_cleanup_close_ int userns_fd = -1;
|
||||
_cleanup_close_ int userns_fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(uid_map);
|
||||
|
||||
+1
-1
@@ -227,7 +227,7 @@ int open_extension_release(const char *root, const char *extension, bool relax_e
|
||||
|
||||
int fopen_extension_release(const char *root, const char *extension, bool relax_extension_release_check, char **ret_path, FILE **ret_file) {
|
||||
_cleanup_free_ char *p = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
FILE *f;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -587,7 +587,7 @@ char* path_extend_internal(char **x, ...) {
|
||||
}
|
||||
|
||||
static int check_x_access(const char *path, int *ret_fd) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
/* We need to use O_PATH because there may be executables for which we have only exec
|
||||
@@ -615,7 +615,7 @@ static int check_x_access(const char *path, int *ret_fd) {
|
||||
}
|
||||
|
||||
static int find_executable_impl(const char *name, const char *root, char **ret_filename, int *ret_fd) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
_cleanup_free_ char *path_name = NULL;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@ static void fallback_random_bytes(void *p, size_t n) {
|
||||
|
||||
void random_bytes(void *p, size_t n) {
|
||||
static bool have_getrandom = true, have_grndinsecure = true;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
if (n == 0)
|
||||
return;
|
||||
@@ -117,7 +117,7 @@ void random_bytes(void *p, size_t n) {
|
||||
|
||||
int crypto_random_bytes(void *p, size_t n) {
|
||||
static bool have_getrandom = true, seen_initialized = false;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
if (n == 0)
|
||||
return 0;
|
||||
@@ -145,7 +145,7 @@ int crypto_random_bytes(void *p, size_t n) {
|
||||
}
|
||||
|
||||
if (!seen_initialized) {
|
||||
_cleanup_close_ int ready_fd = -1;
|
||||
_cleanup_close_ int ready_fd = -EBADF;
|
||||
int r;
|
||||
|
||||
ready_fd = open("/dev/random", O_RDONLY|O_CLOEXEC|O_NOCTTY);
|
||||
@@ -187,7 +187,7 @@ size_t random_pool_size(void) {
|
||||
}
|
||||
|
||||
int random_write_entropy(int fd, const void *seed, size_t size, bool credit) {
|
||||
_cleanup_close_ int opened_fd = -1;
|
||||
_cleanup_close_ int opened_fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(seed || size == 0);
|
||||
|
||||
@@ -182,7 +182,7 @@ int recurse_dir(
|
||||
return r;
|
||||
|
||||
for (size_t i = 0; i < de->n_entries; i++) {
|
||||
_cleanup_close_ int inode_fd = -1, subdir_fd = -1;
|
||||
_cleanup_close_ int inode_fd = -EBADF, subdir_fd = -EBADF;
|
||||
_cleanup_free_ char *joined = NULL;
|
||||
STRUCT_STATX_DEFINE(sx);
|
||||
bool sx_valid = false;
|
||||
@@ -490,7 +490,7 @@ int recurse_dir_at(
|
||||
recurse_dir_func_t func,
|
||||
void *userdata) {
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
assert(atfd >= 0 || atfd == AT_FDCWD);
|
||||
assert(func);
|
||||
|
||||
@@ -1049,7 +1049,7 @@ ssize_t receive_one_fd_iov(
|
||||
if (found)
|
||||
*ret_fd = *(int*) CMSG_DATA(found);
|
||||
else
|
||||
*ret_fd = -1;
|
||||
*ret_fd = -EBADF;
|
||||
|
||||
return k;
|
||||
}
|
||||
@@ -1426,7 +1426,7 @@ int socket_get_mtu(int fd, int af, size_t *ret) {
|
||||
}
|
||||
|
||||
int connect_unix_path(int fd, int dir_fd, const char *path) {
|
||||
_cleanup_close_ int inode_fd = -1;
|
||||
_cleanup_close_ int inode_fd = -EBADF;
|
||||
union sockaddr_union sa = {
|
||||
.un.sun_family = AF_UNIX,
|
||||
};
|
||||
|
||||
@@ -65,7 +65,7 @@ int is_device_node(const char *path) {
|
||||
}
|
||||
|
||||
int dir_is_empty_at(int dir_fd, const char *path, bool ignore_hidden_or_backup) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct dirent *buf;
|
||||
size_t m;
|
||||
|
||||
@@ -183,7 +183,7 @@ static int fd_is_read_only_fs(int fd) {
|
||||
}
|
||||
|
||||
int path_is_read_only_fs(const char *path) {
|
||||
_cleanup_close_ int fd = -EBADFD;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
assert(path);
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "sync-util.h"
|
||||
|
||||
int fsync_directory_of_file(int fd) {
|
||||
_cleanup_close_ int dfd = -1;
|
||||
_cleanup_close_ int dfd = -EBADF;
|
||||
struct stat st;
|
||||
int r;
|
||||
|
||||
@@ -86,7 +86,7 @@ int fsync_full(int fd) {
|
||||
}
|
||||
|
||||
int fsync_path_at(int at_fd, const char *path) {
|
||||
_cleanup_close_ int opened_fd = -1;
|
||||
_cleanup_close_ int opened_fd = -EBADF;
|
||||
int fd;
|
||||
|
||||
if (isempty(path)) {
|
||||
@@ -110,7 +110,7 @@ int fsync_path_at(int at_fd, const char *path) {
|
||||
}
|
||||
|
||||
int fsync_parent_at(int at_fd, const char *path) {
|
||||
_cleanup_close_ int opened_fd = -1;
|
||||
_cleanup_close_ int opened_fd = -EBADF;
|
||||
|
||||
if (isempty(path)) {
|
||||
if (at_fd != AT_FDCWD)
|
||||
@@ -131,7 +131,7 @@ int fsync_parent_at(int at_fd, const char *path) {
|
||||
}
|
||||
|
||||
int fsync_path_and_parent_at(int at_fd, const char *path) {
|
||||
_cleanup_close_ int opened_fd = -1;
|
||||
_cleanup_close_ int opened_fd = -EBADF;
|
||||
|
||||
if (isempty(path)) {
|
||||
if (at_fd != AT_FDCWD)
|
||||
@@ -147,7 +147,7 @@ int fsync_path_and_parent_at(int at_fd, const char *path) {
|
||||
}
|
||||
|
||||
int syncfs_path(int at_fd, const char *path) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
if (isempty(path)) {
|
||||
if (at_fd != AT_FDCWD)
|
||||
|
||||
+12
-12
@@ -53,7 +53,7 @@ static volatile int cached_color_mode = _COLOR_INVALID;
|
||||
static volatile int cached_underline_enabled = -1;
|
||||
|
||||
int chvt(int vt) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
/* Switch to the specified vt number. If the VT is specified <= 0 switch to the VT the kernel log messages go,
|
||||
* if that's configured. */
|
||||
@@ -300,7 +300,7 @@ finish:
|
||||
}
|
||||
|
||||
int reset_terminal(const char *name) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
/* We open the terminal with O_NONBLOCK here, to ensure we
|
||||
* don't block on carrier if this is a terminal with carrier
|
||||
@@ -314,7 +314,7 @@ int reset_terminal(const char *name) {
|
||||
}
|
||||
|
||||
int open_terminal(const char *name, int mode) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
unsigned c = 0;
|
||||
|
||||
/*
|
||||
@@ -355,7 +355,7 @@ int acquire_terminal(
|
||||
AcquireTerminalFlags flags,
|
||||
usec_t timeout) {
|
||||
|
||||
_cleanup_close_ int notify = -1, fd = -1;
|
||||
_cleanup_close_ int notify = -EBADF, fd = -EBADF;
|
||||
usec_t ts = USEC_INFINITY;
|
||||
int r, wd = -1;
|
||||
|
||||
@@ -483,7 +483,7 @@ int release_terminal(void) {
|
||||
.sa_flags = SA_RESTART,
|
||||
};
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct sigaction sa_old;
|
||||
int r;
|
||||
|
||||
@@ -508,7 +508,7 @@ int terminal_vhangup_fd(int fd) {
|
||||
}
|
||||
|
||||
int terminal_vhangup(const char *name) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
fd = open_terminal(name, O_RDWR|O_NOCTTY|O_CLOEXEC|O_NONBLOCK);
|
||||
if (fd < 0)
|
||||
@@ -530,7 +530,7 @@ int vt_disallocate(const char *name) {
|
||||
return -EINVAL;
|
||||
|
||||
if (tty_is_vc(name)) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
unsigned u;
|
||||
const char *n;
|
||||
|
||||
@@ -1083,7 +1083,7 @@ int ptsname_malloc(int fd, char **ret) {
|
||||
}
|
||||
|
||||
int openpt_allocate(int flags, char **ret_slave) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
_cleanup_free_ char *p = NULL;
|
||||
int r;
|
||||
|
||||
@@ -1129,8 +1129,8 @@ 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 = -1, mntnsfd = -1, usernsfd = -1, rootfd = -1, fd = -1;
|
||||
_cleanup_close_pair_ int pair[2] = { -1, -1 };
|
||||
_cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, usernsfd = -EBADF, rootfd = -EBADF, fd = -EBADF;
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
pid_t child;
|
||||
int r;
|
||||
|
||||
@@ -1182,8 +1182,8 @@ 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 = -1, mntnsfd = -1, usernsfd = -1, rootfd = -1;
|
||||
_cleanup_close_pair_ int pair[2] = { -1, -1 };
|
||||
_cleanup_close_ int pidnsfd = -EBADF, mntnsfd = -EBADF, usernsfd = -EBADF, rootfd = -EBADF;
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
pid_t child;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -1395,7 +1395,7 @@ int get_timezones(char ***ret) {
|
||||
int verify_timezone(const char *name, int log_level) {
|
||||
bool slash = false;
|
||||
const char *p, *t;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
char buf[4];
|
||||
int r;
|
||||
|
||||
@@ -1568,7 +1568,7 @@ int time_change_fd(void) {
|
||||
.it_value.tv_sec = TIME_T_MAX,
|
||||
};
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
assert_cc(sizeof(time_t) == sizeof(TIME_T_MAX));
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
static int fopen_temporary_internal(int dir_fd, const char *path, FILE **ret_file) {
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(dir_fd >= 0 || dir_fd == AT_FDCWD);
|
||||
@@ -101,7 +101,7 @@ int mkostemp_safe(char *pattern) {
|
||||
}
|
||||
|
||||
int fmkostemp_safe(char *pattern, const char *mode, FILE **ret_f) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
FILE *f;
|
||||
|
||||
fd = mkostemp_safe(pattern);
|
||||
@@ -309,7 +309,7 @@ int open_tmpfile_linkable(const char *target, int flags, char **ret_path) {
|
||||
int fopen_tmpfile_linkable(const char *target, int flags, char **ret_path, FILE **ret_file) {
|
||||
_cleanup_free_ char *path = NULL;
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
assert(target);
|
||||
assert(ret_file);
|
||||
|
||||
@@ -26,7 +26,7 @@ int getxattr_at_malloc(
|
||||
int flags,
|
||||
char **ret) {
|
||||
|
||||
_cleanup_close_ int opened_fd = -1;
|
||||
_cleanup_close_ int opened_fd = -EBADF;
|
||||
unsigned n_attempts = 7;
|
||||
bool by_procfs = false;
|
||||
size_t l = 100;
|
||||
@@ -212,7 +212,7 @@ int listxattr_at_malloc(
|
||||
int flags,
|
||||
char **ret) {
|
||||
|
||||
_cleanup_close_ int opened_fd = -1;
|
||||
_cleanup_close_ int opened_fd = -EBADF;
|
||||
bool by_procfs = false;
|
||||
unsigned n_attempts = 7;
|
||||
size_t l = 100;
|
||||
|
||||
@@ -360,7 +360,7 @@ static int verb_status(int argc, char *argv[], void *userdata) {
|
||||
left, done);
|
||||
|
||||
STRV_FOREACH(p, arg_path) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
fd = open(*p, O_DIRECTORY|O_CLOEXEC|O_RDONLY);
|
||||
if (fd < 0) {
|
||||
@@ -439,7 +439,7 @@ static int verb_set(int argc, char *argv[], void *userdata) {
|
||||
}
|
||||
|
||||
STRV_FOREACH(p, arg_path) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
fd = open(*p, O_DIRECTORY|O_CLOEXEC|O_RDONLY);
|
||||
if (fd < 0)
|
||||
|
||||
@@ -299,7 +299,7 @@ static int version_check(int fd_from, const char *from, int fd_to, const char *t
|
||||
}
|
||||
|
||||
static int copy_file_with_version_check(const char *from, const char *to, bool force) {
|
||||
_cleanup_close_ int fd_from = -1, fd_to = -1;
|
||||
_cleanup_close_ int fd_from = -EBADF, fd_to = -EBADF;
|
||||
_cleanup_free_ char *t = NULL;
|
||||
int r;
|
||||
|
||||
@@ -899,7 +899,7 @@ static int remove_boot_efi(const char *esp_path) {
|
||||
return log_error_errno(r, "Failed to open directory \"%s/EFI/BOOT\": %m", esp_path);
|
||||
|
||||
FOREACH_DIRENT(de, d, break) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
_cleanup_free_ char *v = NULL;
|
||||
|
||||
if (!endswith_no_case(de->d_name, ".efi"))
|
||||
|
||||
@@ -19,7 +19,7 @@ int install_random_seed(const char *esp) {
|
||||
_cleanup_(unlink_and_freep) char *tmp = NULL;
|
||||
uint8_t buffer[RANDOM_EFI_SEED_SIZE];
|
||||
_cleanup_free_ char *path = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
size_t token_size;
|
||||
ssize_t n;
|
||||
int r;
|
||||
|
||||
@@ -205,7 +205,7 @@ static int enumerate_binaries(
|
||||
|
||||
FOREACH_DIRENT(de, d, break) {
|
||||
_cleanup_free_ char *v = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
if (!endswith_no_case(de->d_name, ".efi"))
|
||||
continue;
|
||||
|
||||
+1
-1
@@ -427,7 +427,7 @@ static int measure_kernel(PcrState *pcr_states, size_t n) {
|
||||
|
||||
for (UnifiedSection c = 0; c < _UNIFIED_SECTION_MAX; c++) {
|
||||
_cleanup_(evp_md_ctx_free_all) EVP_MD_CTX **mdctx = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
uint64_t m = 0;
|
||||
|
||||
if (!arg_sections[c])
|
||||
|
||||
@@ -13,7 +13,7 @@ int main(int argc, char *argv[]) {
|
||||
.un.sun_path = "/run/systemd/cgroups-agent",
|
||||
};
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
ssize_t n;
|
||||
size_t l;
|
||||
int r;
|
||||
|
||||
+13
-13
@@ -73,7 +73,7 @@ static void automount_init(Unit *u) {
|
||||
assert(u);
|
||||
assert(u->load_state == UNIT_STUB);
|
||||
|
||||
a->pipe_fd = -1;
|
||||
a->pipe_fd = -EBADF;
|
||||
a->directory_mode = 0755;
|
||||
UNIT(a)->ignore_on_isolate = true;
|
||||
}
|
||||
@@ -392,7 +392,7 @@ static int open_ioctl_fd(int dev_autofs_fd, const char *where, dev_t devid) {
|
||||
|
||||
init_autofs_dev_ioctl(param);
|
||||
param->size = l;
|
||||
param->ioctlfd = -1;
|
||||
param->ioctlfd = -EBADF;
|
||||
param->openmount.devid = devid;
|
||||
strcpy(param->path, where);
|
||||
|
||||
@@ -470,7 +470,7 @@ static int autofs_send_ready(int dev_autofs_fd, int ioctl_fd, uint32_t token, in
|
||||
}
|
||||
|
||||
static int automount_send_ready(Automount *a, Set *tokens, int status) {
|
||||
_cleanup_close_ int ioctl_fd = -1;
|
||||
_cleanup_close_ int ioctl_fd = -EBADF;
|
||||
unsigned token;
|
||||
int r;
|
||||
|
||||
@@ -572,8 +572,8 @@ static void automount_trigger_notify(Unit *u, Unit *other) {
|
||||
}
|
||||
|
||||
static void automount_enter_waiting(Automount *a) {
|
||||
_cleanup_close_ int ioctl_fd = -1;
|
||||
int p[2] = { -1, -1 };
|
||||
_cleanup_close_ int ioctl_fd = -EBADF;
|
||||
int pipe_fd[2] = { -EBADF, -EBADF };
|
||||
char name[STRLEN("systemd-") + DECIMAL_STR_MAX(pid_t) + 1];
|
||||
_cleanup_free_ char *options = NULL;
|
||||
bool mounted = false;
|
||||
@@ -600,18 +600,18 @@ static void automount_enter_waiting(Automount *a) {
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (pipe2(p, O_CLOEXEC) < 0) {
|
||||
if (pipe2(pipe_fd, O_CLOEXEC) < 0) {
|
||||
r = -errno;
|
||||
goto fail;
|
||||
}
|
||||
r = fd_nonblock(p[0], true);
|
||||
r = fd_nonblock(pipe_fd[0], true);
|
||||
if (r < 0)
|
||||
goto fail;
|
||||
|
||||
if (asprintf(
|
||||
&options,
|
||||
"fd=%i,pgrp="PID_FMT",minproto=5,maxproto=5,direct%s%s",
|
||||
p[1],
|
||||
pipe_fd[1],
|
||||
getpgrp(),
|
||||
isempty(a->extra_options) ? "" : ",",
|
||||
strempty(a->extra_options)) < 0) {
|
||||
@@ -626,7 +626,7 @@ static void automount_enter_waiting(Automount *a) {
|
||||
|
||||
mounted = true;
|
||||
|
||||
p[1] = safe_close(p[1]);
|
||||
pipe_fd[1] = safe_close(pipe_fd[1]);
|
||||
|
||||
if (stat(a->where, &st) < 0) {
|
||||
r = -errno;
|
||||
@@ -647,13 +647,13 @@ static void automount_enter_waiting(Automount *a) {
|
||||
if (r < 0)
|
||||
goto fail;
|
||||
|
||||
r = sd_event_add_io(UNIT(a)->manager->event, &a->pipe_event_source, p[0], EPOLLIN, automount_dispatch_io, a);
|
||||
r = sd_event_add_io(UNIT(a)->manager->event, &a->pipe_event_source, pipe_fd[0], EPOLLIN, automount_dispatch_io, a);
|
||||
if (r < 0)
|
||||
goto fail;
|
||||
|
||||
(void) sd_event_source_set_description(a->pipe_event_source, "automount-io");
|
||||
|
||||
a->pipe_fd = p[0];
|
||||
a->pipe_fd = pipe_fd[0];
|
||||
a->dev_id = st.st_dev;
|
||||
|
||||
automount_set_state(a, AUTOMOUNT_WAITING);
|
||||
@@ -663,7 +663,7 @@ static void automount_enter_waiting(Automount *a) {
|
||||
fail:
|
||||
log_unit_error_errno(UNIT(a), r, "Failed to initialize automounter: %m");
|
||||
|
||||
safe_close_pair(p);
|
||||
safe_close_pair(pipe_fd);
|
||||
|
||||
if (mounted) {
|
||||
r = repeat_unmount(a->where, MNT_DETACH|UMOUNT_NOFOLLOW);
|
||||
@@ -707,7 +707,7 @@ static int automount_dispatch_expire(sd_event_source *source, usec_t usec, void
|
||||
if (!data)
|
||||
return log_oom();
|
||||
|
||||
data->ioctl_fd = -1;
|
||||
data->ioctl_fd = -EBADF;
|
||||
|
||||
data->dev_autofs_fd = fcntl(UNIT(a)->manager->dev_autofs_fd, F_DUPFD_CLOEXEC, 3);
|
||||
if (data->dev_autofs_fd < 0)
|
||||
|
||||
@@ -411,7 +411,7 @@ static int bpf_firewall_prepare_access_maps(
|
||||
int *ret_ipv6_map_fd,
|
||||
bool *ret_has_any) {
|
||||
|
||||
_cleanup_close_ int ipv4_map_fd = -1, ipv6_map_fd = -1;
|
||||
_cleanup_close_ int ipv4_map_fd = -EBADF, ipv6_map_fd = -EBADF;
|
||||
size_t n_ipv4 = 0, n_ipv6 = 0;
|
||||
Unit *p;
|
||||
int r;
|
||||
@@ -874,8 +874,8 @@ int bpf_firewall_supported(void) {
|
||||
// Ideally it should behave like GCC, so that we can remove these workarounds.
|
||||
zero(attr);
|
||||
attr.attach_type = BPF_CGROUP_INET_EGRESS;
|
||||
attr.target_fd = -1;
|
||||
attr.attach_bpf_fd = -1;
|
||||
attr.target_fd = -EBADF;
|
||||
attr.attach_bpf_fd = -EBADF;
|
||||
|
||||
if (bpf(BPF_PROG_DETACH, &attr, sizeof(attr)) < 0) {
|
||||
if (errno != EBADF) {
|
||||
@@ -902,8 +902,8 @@ int bpf_firewall_supported(void) {
|
||||
|
||||
zero(attr);
|
||||
attr.attach_type = BPF_CGROUP_INET_EGRESS;
|
||||
attr.target_fd = -1;
|
||||
attr.attach_bpf_fd = -1;
|
||||
attr.target_fd = -EBADF;
|
||||
attr.attach_bpf_fd = -EBADF;
|
||||
attr.attach_flags = BPF_F_ALLOW_MULTI;
|
||||
|
||||
if (bpf(BPF_PROG_ATTACH, &attr, sizeof(attr)) < 0) {
|
||||
|
||||
+1
-1
@@ -55,7 +55,7 @@ static bool bpf_can_link_lsm_program(struct bpf_program *prog) {
|
||||
|
||||
static int prepare_restrict_fs_bpf(struct restrict_fs_bpf **ret_obj) {
|
||||
_cleanup_(restrict_fs_bpf_freep) struct restrict_fs_bpf *obj = NULL;
|
||||
_cleanup_close_ int inner_map_fd = -1;
|
||||
_cleanup_close_ int inner_map_fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(ret_obj);
|
||||
|
||||
@@ -156,7 +156,7 @@ static int socket_bind_install_impl(Unit *u) {
|
||||
_cleanup_(bpf_link_freep) struct bpf_link *ipv4 = NULL, *ipv6 = NULL;
|
||||
_cleanup_(socket_bind_bpf_freep) struct socket_bind_bpf *obj = NULL;
|
||||
_cleanup_free_ char *cgroup_path = NULL;
|
||||
_cleanup_close_ int cgroup_fd = -1;
|
||||
_cleanup_close_ int cgroup_fd = -EBADF;
|
||||
CGroupContext *cc;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -1379,7 +1379,7 @@ static int method_dump(sd_bus_message *message, void *userdata, sd_bus_error *er
|
||||
}
|
||||
|
||||
static int reply_dump_by_fd(sd_bus_message *message, char *dump) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
fd = acquire_data_fd(dump, strlen(dump), 0);
|
||||
if (fd < 0)
|
||||
|
||||
@@ -112,7 +112,7 @@ static int bus_path_set_transient_property(
|
||||
s->unit = u;
|
||||
s->path = TAKE_PTR(k);
|
||||
s->type = t;
|
||||
s->inotify_fd = -1;
|
||||
s->inotify_fd = -EBADF;
|
||||
|
||||
LIST_PREPEND(spec, p->specs, s);
|
||||
|
||||
|
||||
@@ -371,7 +371,7 @@ static int bus_socket_set_transient_property(
|
||||
return log_oom();
|
||||
|
||||
*p = (SocketPort) {
|
||||
.fd = -1,
|
||||
.fd = -EBADF,
|
||||
.socket = s,
|
||||
};
|
||||
|
||||
|
||||
+3
-3
@@ -649,7 +649,7 @@ static int bus_setup_disconnected_match(Manager *m, sd_bus *bus) {
|
||||
|
||||
static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void *userdata) {
|
||||
_cleanup_(sd_bus_close_unrefp) sd_bus *bus = NULL;
|
||||
_cleanup_close_ int nfd = -1;
|
||||
_cleanup_close_ int nfd = -EBADF;
|
||||
Manager *m = ASSERT_PTR(userdata);
|
||||
sd_id128_t id;
|
||||
int r;
|
||||
@@ -684,7 +684,7 @@ static int bus_on_connection(sd_event_source *s, int fd, uint32_t revents, void
|
||||
return 0;
|
||||
}
|
||||
|
||||
nfd = -1;
|
||||
nfd = -EBADF;
|
||||
|
||||
r = bus_check_peercred(bus);
|
||||
if (r < 0) {
|
||||
@@ -897,7 +897,7 @@ int bus_init_system(Manager *m) {
|
||||
}
|
||||
|
||||
int bus_init_private(Manager *m) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
union sockaddr_union sa;
|
||||
socklen_t sa_len;
|
||||
sd_event_source *s;
|
||||
|
||||
@@ -74,7 +74,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] = { -1, -1 };
|
||||
_cleanup_close_pair_ int storage_socket[2] = { -EBADF, -EBADF };
|
||||
DynamicUser *d;
|
||||
int r;
|
||||
|
||||
@@ -211,7 +211,7 @@ static int pick_uid(char **suggested_paths, const char *name, uid_t *ret_uid) {
|
||||
|
||||
for (;;) {
|
||||
char lock_path[STRLEN("/run/systemd/dynamic-uid/") + DECIMAL_STR_MAX(uid_t) + 1];
|
||||
_cleanup_close_ int lock_fd = -1;
|
||||
_cleanup_close_ int lock_fd = -EBADF;
|
||||
uid_t candidate;
|
||||
ssize_t l;
|
||||
|
||||
@@ -373,7 +373,7 @@ static void unlockfp(int *fd_lock) {
|
||||
if (*fd_lock < 0)
|
||||
return;
|
||||
lockf(*fd_lock, F_ULOCK, 0);
|
||||
*fd_lock = -1;
|
||||
*fd_lock = -EBADF;
|
||||
}
|
||||
|
||||
static int dynamic_user_realize(
|
||||
@@ -383,8 +383,8 @@ static int dynamic_user_realize(
|
||||
bool is_user) {
|
||||
|
||||
_cleanup_(unlockfp) int storage_socket0_lock = -1;
|
||||
_cleanup_close_ int uid_lock_fd = -1;
|
||||
_cleanup_close_ int etc_passwd_lock_fd = -1;
|
||||
_cleanup_close_ int uid_lock_fd = -EBADF;
|
||||
_cleanup_close_ int etc_passwd_lock_fd = -EBADF;
|
||||
uid_t num = UID_INVALID; /* a uid if is_user, and a gid otherwise */
|
||||
gid_t gid = GID_INVALID; /* a gid if is_user, ignored otherwise */
|
||||
bool flush_cache = false;
|
||||
@@ -525,7 +525,7 @@ static int dynamic_user_realize(
|
||||
|
||||
int dynamic_user_current(DynamicUser *d, uid_t *ret) {
|
||||
_cleanup_(unlockfp) int storage_socket0_lock = -1;
|
||||
_cleanup_close_ int lock_fd = -1;
|
||||
_cleanup_close_ int lock_fd = -EBADF;
|
||||
uid_t uid;
|
||||
int r;
|
||||
|
||||
@@ -568,7 +568,7 @@ static DynamicUser* dynamic_user_unref(DynamicUser *d) {
|
||||
|
||||
static int dynamic_user_close(DynamicUser *d) {
|
||||
_cleanup_(unlockfp) int storage_socket0_lock = -1;
|
||||
_cleanup_close_ int lock_fd = -1;
|
||||
_cleanup_close_ int lock_fd = -EBADF;
|
||||
uid_t uid;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#include "strv.h"
|
||||
|
||||
void lock_down_efi_variables(void) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
fd = open(EFIVAR_PATH(EFI_LOADER_VARIABLE(LoaderSystemToken)), O_RDONLY|O_CLOEXEC);
|
||||
|
||||
+18
-18
@@ -329,7 +329,7 @@ static int connect_logger_as(
|
||||
uid_t uid,
|
||||
gid_t gid) {
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(context);
|
||||
@@ -385,7 +385,7 @@ static int open_terminal_as(const char *path, int flags, int nfd) {
|
||||
}
|
||||
|
||||
static int acquire_path(const char *path, int flags, mode_t mode) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(path);
|
||||
@@ -766,7 +766,7 @@ static int setup_confirm_stdio(
|
||||
int *ret_saved_stdin,
|
||||
int *ret_saved_stdout) {
|
||||
|
||||
_cleanup_close_ int fd = -1, saved_stdin = -1, saved_stdout = -1;
|
||||
_cleanup_close_ int fd = -EBADF, saved_stdin = -EBADF, saved_stdout = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(ret_saved_stdin);
|
||||
@@ -818,7 +818,7 @@ static void write_confirm_error_fd(int err, int fd, const Unit *u) {
|
||||
}
|
||||
|
||||
static void write_confirm_error(int err, const char *vc, const Unit *u) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
assert(vc);
|
||||
|
||||
@@ -2099,8 +2099,8 @@ bool exec_needs_mount_namespace(
|
||||
|
||||
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] = { -1, -1 };
|
||||
_cleanup_close_ int unshare_ready_fd = -1;
|
||||
_cleanup_close_pair_ int errno_pipe[2] = { -EBADF, -EBADF };
|
||||
_cleanup_close_ int unshare_ready_fd = -EBADF;
|
||||
_cleanup_(sigkill_waitp) pid_t pid = 0;
|
||||
uint64_t c = 1;
|
||||
ssize_t n;
|
||||
@@ -2159,7 +2159,7 @@ static int setup_private_users(uid_t ouid, gid_t ogid, uid_t uid, gid_t gid) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
if (r == 0) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
const char *a;
|
||||
pid_t ppid;
|
||||
|
||||
@@ -2554,7 +2554,7 @@ static int write_credential(
|
||||
bool ownership_ok) {
|
||||
|
||||
_cleanup_(unlink_and_freep) char *tmp = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
r = tempfn_random_child("", "cred", &tmp);
|
||||
@@ -2852,7 +2852,7 @@ static int acquire_credentials(
|
||||
bool ownership_ok) {
|
||||
|
||||
uint64_t left = CREDENTIALS_TOTAL_SIZE_MAX;
|
||||
_cleanup_close_ int dfd = -1;
|
||||
_cleanup_close_ int dfd = -EBADF;
|
||||
ExecLoadCredential *lc;
|
||||
ExecSetCredential *sc;
|
||||
int r;
|
||||
@@ -2866,7 +2866,7 @@ static int acquire_credentials(
|
||||
|
||||
/* First, load credentials off disk (or acquire via AF_UNIX socket) */
|
||||
HASHMAP_FOREACH(lc, context->load_credentials) {
|
||||
_cleanup_close_ int sub_fd = -1;
|
||||
_cleanup_close_ int sub_fd = -EBADF;
|
||||
|
||||
/* If this is an absolute path, then try to open it as a directory. If that works, then we'll
|
||||
* recurse into it. If it is an absolute path but it isn't a directory, then we'll open it as
|
||||
@@ -4084,7 +4084,7 @@ static int add_shifted_fd(int *fds, size_t fds_size, size_t *n_fds, int fd, int
|
||||
assert(ret_fd);
|
||||
|
||||
if (fd < 0) {
|
||||
*ret_fd = -1;
|
||||
*ret_fd = -EBADF;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -4781,7 +4781,7 @@ static int exec_child(
|
||||
* shall execute. */
|
||||
|
||||
_cleanup_free_ char *executable = NULL;
|
||||
_cleanup_close_ int executable_fd = -1;
|
||||
_cleanup_close_ int executable_fd = -EBADF;
|
||||
r = find_executable_full(command->path, /* root= */ NULL, context->exec_search_path, false, &executable, &executable_fd);
|
||||
if (r < 0) {
|
||||
if (r != -ENOMEM && (command->flags & EXEC_COMMAND_IGNORE_FAILURE)) {
|
||||
@@ -4812,7 +4812,7 @@ static int exec_child(
|
||||
|
||||
#if HAVE_SELINUX
|
||||
if (needs_sandboxing && use_selinux && params->selinux_context_net) {
|
||||
int fd = -1;
|
||||
int fd = -EBADF;
|
||||
|
||||
if (socket_fd >= 0)
|
||||
fd = socket_fd;
|
||||
@@ -5211,7 +5211,7 @@ int exec_spawn(Unit *unit,
|
||||
|
||||
socket_fd = params->fds[0];
|
||||
} else {
|
||||
socket_fd = -1;
|
||||
socket_fd = -EBADF;
|
||||
fds = params->fds;
|
||||
n_socket_fds = params->n_socket_fds;
|
||||
n_storage_fds = params->n_storage_fds;
|
||||
@@ -6279,7 +6279,7 @@ void exec_context_free_log_extra_fields(ExecContext *c) {
|
||||
}
|
||||
|
||||
void exec_context_revert_tty(ExecContext *c) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
const char *path;
|
||||
struct stat st;
|
||||
int r;
|
||||
@@ -6609,8 +6609,8 @@ static int exec_runtime_allocate(ExecRuntime **ret, const char *id) {
|
||||
|
||||
*n = (ExecRuntime) {
|
||||
.id = TAKE_PTR(id_copy),
|
||||
.netns_storage_socket = { -1, -1 },
|
||||
.ipcns_storage_socket = { -1, -1 },
|
||||
.netns_storage_socket = { -EBADF, -EBADF },
|
||||
.ipcns_storage_socket = { -EBADF, -EBADF },
|
||||
};
|
||||
|
||||
*ret = n;
|
||||
@@ -6672,7 +6672,7 @@ static int exec_runtime_make(
|
||||
ExecRuntime **ret) {
|
||||
|
||||
_cleanup_(namespace_cleanup_tmpdirp) char *tmp_dir = NULL, *var_tmp_dir = NULL;
|
||||
_cleanup_close_pair_ int netns_storage_socket[2] = { -1, -1 }, ipcns_storage_socket[2] = { -1, -1 };
|
||||
_cleanup_close_pair_ int netns_storage_socket[2] = { -EBADF, -EBADF }, ipcns_storage_socket[2] = { -EBADF, -EBADF };
|
||||
int r;
|
||||
|
||||
assert(m);
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
int ima_setup(void) {
|
||||
#if ENABLE_IMA
|
||||
_cleanup_fclose_ FILE *input = NULL;
|
||||
_cleanup_close_ int imafd = -1;
|
||||
_cleanup_close_ int imafd = -EBADF;
|
||||
unsigned lineno = 0;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -146,7 +146,7 @@ static int finalize_credentials_dir(const char *dir, const char *envvar) {
|
||||
|
||||
static int import_credentials_boot(void) {
|
||||
_cleanup_(import_credentials_context_free) ImportCredentialContext context = {
|
||||
.target_dir_fd = -1,
|
||||
.target_dir_fd = -EBADF,
|
||||
};
|
||||
int r;
|
||||
|
||||
@@ -165,7 +165,7 @@ static int import_credentials_boot(void) {
|
||||
"/.extra/global_credentials/") { /* boot partition wide */
|
||||
|
||||
_cleanup_free_ DirectoryEntries *de = NULL;
|
||||
_cleanup_close_ int source_dir_fd = -1;
|
||||
_cleanup_close_ int source_dir_fd = -EBADF;
|
||||
|
||||
source_dir_fd = open(p, O_RDONLY|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW);
|
||||
if (source_dir_fd < 0) {
|
||||
@@ -186,7 +186,7 @@ static int import_credentials_boot(void) {
|
||||
|
||||
for (size_t i = 0; i < de->n_entries; i++) {
|
||||
const struct dirent *d = de->entries[i];
|
||||
_cleanup_close_ int cfd = -1, nfd = -1;
|
||||
_cleanup_close_ int cfd = -EBADF, nfd = -EBADF;
|
||||
_cleanup_free_ char *n = NULL;
|
||||
const char *e;
|
||||
struct stat st;
|
||||
@@ -294,7 +294,7 @@ static int acquire_credential_directory(ImportCredentialContext *c) {
|
||||
static int proc_cmdline_callback(const char *key, const char *value, void *data) {
|
||||
ImportCredentialContext *c = ASSERT_PTR(data);
|
||||
_cleanup_free_ char *n = NULL;
|
||||
_cleanup_close_ int nfd = -1;
|
||||
_cleanup_close_ int nfd = -EBADF;
|
||||
const char *colon;
|
||||
size_t l;
|
||||
int r;
|
||||
@@ -365,7 +365,7 @@ static int import_credentials_proc_cmdline(ImportCredentialContext *c) {
|
||||
|
||||
static int import_credentials_qemu(ImportCredentialContext *c) {
|
||||
_cleanup_free_ DirectoryEntries *de = NULL;
|
||||
_cleanup_close_ int source_dir_fd = -1;
|
||||
_cleanup_close_ int source_dir_fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(c);
|
||||
@@ -389,7 +389,7 @@ static int import_credentials_qemu(ImportCredentialContext *c) {
|
||||
|
||||
for (size_t i = 0; i < de->n_entries; i++) {
|
||||
const struct dirent *d = de->entries[i];
|
||||
_cleanup_close_ int vfd = -1, rfd = -1, nfd = -1;
|
||||
_cleanup_close_ int vfd = -EBADF, rfd = -EBADF, nfd = -EBADF;
|
||||
_cleanup_free_ char *szs = NULL;
|
||||
uint64_t sz;
|
||||
|
||||
@@ -468,7 +468,7 @@ static int parse_smbios_strings(ImportCredentialContext *c, const char *data, si
|
||||
for (p = data, left = size; left > 0; p += skip, left -= skip) {
|
||||
_cleanup_free_ void *buf = NULL;
|
||||
_cleanup_free_ char *cn = NULL;
|
||||
_cleanup_close_ int nfd = -1;
|
||||
_cleanup_close_ int nfd = -EBADF;
|
||||
const char *nul, *n, *eq;
|
||||
const void *cdata;
|
||||
size_t buflen, cdata_len;
|
||||
@@ -606,7 +606,7 @@ static int import_credentials_smbios(ImportCredentialContext *c) {
|
||||
|
||||
static int import_credentials_trusted(void) {
|
||||
_cleanup_(import_credentials_context_free) ImportCredentialContext c = {
|
||||
.target_dir_fd = -1,
|
||||
.target_dir_fd = -EBADF,
|
||||
};
|
||||
int q, w, r;
|
||||
|
||||
|
||||
@@ -674,7 +674,7 @@ int config_parse_socket_listen(
|
||||
p->type = SOCKET_SOCKET;
|
||||
}
|
||||
|
||||
p->fd = -1;
|
||||
p->fd = -EBADF;
|
||||
p->auxiliary_fds = NULL;
|
||||
p->n_auxiliary_fds = 0;
|
||||
p->socket = s;
|
||||
@@ -2232,7 +2232,7 @@ int config_parse_path_spec(const char *unit,
|
||||
s->unit = UNIT(p);
|
||||
s->path = TAKE_PTR(k);
|
||||
s->type = b;
|
||||
s->inotify_fd = -1;
|
||||
s->inotify_fd = -EBADF;
|
||||
|
||||
LIST_PREPEND(spec, p->specs, s);
|
||||
|
||||
|
||||
+1
-1
@@ -213,7 +213,7 @@ static int manager_find_user_config_paths(char ***ret_files, char ***ret_dirs) {
|
||||
}
|
||||
|
||||
static int console_setup(void) {
|
||||
_cleanup_close_ int tty_fd = -1;
|
||||
_cleanup_close_ int tty_fd = -EBADF;
|
||||
int r;
|
||||
|
||||
tty_fd = open_terminal("/dev/console", O_WRONLY|O_NOCTTY|O_CLOEXEC);
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include "varlink-internal.h"
|
||||
|
||||
int manager_open_serialization(Manager *m, FILE **ret_f) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
FILE *f;
|
||||
|
||||
assert(ret_f);
|
||||
|
||||
+14
-14
@@ -495,7 +495,7 @@ static int manager_setup_timezone_change(Manager *m) {
|
||||
}
|
||||
|
||||
static int enable_special_signals(Manager *m) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
assert(m);
|
||||
|
||||
@@ -848,16 +848,16 @@ int manager_new(LookupScope scope, ManagerTestRunFlags test_run_flags, Manager *
|
||||
|
||||
.show_status_overridden = _SHOW_STATUS_INVALID,
|
||||
|
||||
.notify_fd = -1,
|
||||
.cgroups_agent_fd = -1,
|
||||
.signal_fd = -1,
|
||||
.user_lookup_fds = { -1, -1 },
|
||||
.private_listen_fd = -1,
|
||||
.dev_autofs_fd = -1,
|
||||
.cgroup_inotify_fd = -1,
|
||||
.pin_cgroupfs_fd = -1,
|
||||
.ask_password_inotify_fd = -1,
|
||||
.idle_pipe = { -1, -1, -1, -1},
|
||||
.notify_fd = -EBADF,
|
||||
.cgroups_agent_fd = -EBADF,
|
||||
.signal_fd = -EBADF,
|
||||
.user_lookup_fds = { -EBADF, -EBADF },
|
||||
.private_listen_fd = -EBADF,
|
||||
.dev_autofs_fd = -EBADF,
|
||||
.cgroup_inotify_fd = -EBADF,
|
||||
.pin_cgroupfs_fd = -EBADF,
|
||||
.ask_password_inotify_fd = -EBADF,
|
||||
.idle_pipe = { -EBADF, -EBADF, -EBADF, -EBADF},
|
||||
|
||||
/* start as id #1, so that we can leave #0 around as "null-like" value */
|
||||
.current_job_id = 1,
|
||||
@@ -1000,7 +1000,7 @@ static int manager_setup_notify(Manager *m) {
|
||||
return 0;
|
||||
|
||||
if (m->notify_fd < 0) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
union sockaddr_union sa;
|
||||
socklen_t sa_len;
|
||||
|
||||
@@ -1091,7 +1091,7 @@ static int manager_setup_cgroups_agent(Manager *m) {
|
||||
return 0;
|
||||
|
||||
if (m->cgroups_agent_fd < 0) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
/* First free all secondary fields */
|
||||
m->cgroups_agent_event_source = sd_event_source_disable_unref(m->cgroups_agent_event_source);
|
||||
@@ -3187,7 +3187,7 @@ void manager_send_unit_audit(Manager *m, Unit *u, int type, bool success) {
|
||||
void manager_send_unit_plymouth(Manager *m, Unit *u) {
|
||||
static const union sockaddr_union sa = PLYMOUTH_SOCKET;
|
||||
_cleanup_free_ char *message = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int n = 0;
|
||||
|
||||
/* Don't generate plymouth events if the service was already
|
||||
|
||||
+4
-4
@@ -886,10 +886,10 @@ static int mount_spawn(Mount *m, ExecCommand *c, pid_t *_pid) {
|
||||
|
||||
_cleanup_(exec_params_clear) ExecParameters exec_params = {
|
||||
.flags = EXEC_APPLY_SANDBOXING|EXEC_APPLY_CHROOT|EXEC_APPLY_TTY_STDIN,
|
||||
.stdin_fd = -1,
|
||||
.stdout_fd = -1,
|
||||
.stderr_fd = -1,
|
||||
.exec_fd = -1,
|
||||
.stdin_fd = -EBADF,
|
||||
.stdout_fd = -EBADF,
|
||||
.stderr_fd = -EBADF,
|
||||
.exec_fd = -EBADF,
|
||||
};
|
||||
pid_t pid;
|
||||
int r;
|
||||
|
||||
@@ -1075,7 +1075,7 @@ static int mount_sysfs(const MountEntry *m) {
|
||||
}
|
||||
|
||||
static bool mount_option_supported(const char *fstype, const char *key, const char *value) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
/* This function assumes support by default. Only if the fsconfig() call fails with -EINVAL/-EOPNOTSUPP
|
||||
@@ -2698,7 +2698,7 @@ int temporary_filesystem_add(
|
||||
|
||||
static int make_tmp_prefix(const char *prefix) {
|
||||
_cleanup_free_ char *t = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
/* Don't do anything unless we know the dir is actually missing */
|
||||
|
||||
+1
-1
@@ -265,7 +265,7 @@ static void path_spec_dump(PathSpec *s, FILE *f, const char *prefix) {
|
||||
|
||||
void path_spec_done(PathSpec *s) {
|
||||
assert(s);
|
||||
assert(s->inotify_fd == -1);
|
||||
assert(s->inotify_fd == -EBADF);
|
||||
|
||||
free(s->path);
|
||||
}
|
||||
|
||||
@@ -101,7 +101,7 @@ static int restrict_network_interfaces_install_impl(Unit *u) {
|
||||
_cleanup_(bpf_link_freep) struct bpf_link *egress_link = NULL, *ingress_link = NULL;
|
||||
_cleanup_(restrict_ifaces_bpf_freep) struct restrict_ifaces_bpf *obj = NULL;
|
||||
_cleanup_free_ char *cgroup_path = NULL;
|
||||
_cleanup_close_ int cgroup_fd = -1;
|
||||
_cleanup_close_ int cgroup_fd = -EBADF;
|
||||
CGroupContext *cc;
|
||||
int r;
|
||||
|
||||
|
||||
+11
-11
@@ -111,8 +111,8 @@ static void service_init(Unit *u) {
|
||||
s->restart_usec = u->manager->default_restart_usec;
|
||||
s->runtime_max_usec = USEC_INFINITY;
|
||||
s->type = _SERVICE_TYPE_INVALID;
|
||||
s->socket_fd = -1;
|
||||
s->stdin_fd = s->stdout_fd = s->stderr_fd = -1;
|
||||
s->socket_fd = -EBADF;
|
||||
s->stdin_fd = s->stdout_fd = s->stderr_fd = -EBADF;
|
||||
s->guess_main_pid = true;
|
||||
|
||||
s->control_command_id = _SERVICE_EXEC_COMMAND_INVALID;
|
||||
@@ -480,7 +480,7 @@ static int service_add_fd_store_set(Service *s, FDSet *fds, const char *name, bo
|
||||
assert(s);
|
||||
|
||||
while (fdset_size(fds) > 0) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
fd = fdset_steal_first(fds);
|
||||
if (fd < 0)
|
||||
@@ -495,7 +495,7 @@ static int service_add_fd_store_set(Service *s, FDSet *fds, const char *name, bo
|
||||
return log_unit_error_errno(UNIT(s), r, "Failed to add fd to store: %m");
|
||||
if (r > 0)
|
||||
log_unit_debug(UNIT(s), "Added fd %i (%s) to fd store.", fd, strna(name));
|
||||
fd = -1;
|
||||
fd = -EBADF;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@@ -959,7 +959,7 @@ static int service_is_suitable_main_pid(Service *s, pid_t pid, int prio) {
|
||||
static int service_load_pid_file(Service *s, bool may_warn) {
|
||||
bool questionable_pid_file = false;
|
||||
_cleanup_free_ char *k = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r, prio;
|
||||
pid_t pid;
|
||||
|
||||
@@ -1402,7 +1402,7 @@ static int service_allocate_exec_fd(
|
||||
sd_event_source **ret_event_source,
|
||||
int *ret_exec_fd) {
|
||||
|
||||
_cleanup_close_pair_ int p[] = { -1, -1 };
|
||||
_cleanup_close_pair_ int p[] = { -EBADF, -EBADF };
|
||||
int r;
|
||||
|
||||
assert(s);
|
||||
@@ -1483,10 +1483,10 @@ static int service_spawn_internal(
|
||||
|
||||
_cleanup_(exec_params_clear) ExecParameters exec_params = {
|
||||
.flags = flags,
|
||||
.stdin_fd = -1,
|
||||
.stdout_fd = -1,
|
||||
.stderr_fd = -1,
|
||||
.exec_fd = -1,
|
||||
.stdin_fd = -EBADF,
|
||||
.stdout_fd = -EBADF,
|
||||
.stderr_fd = -EBADF,
|
||||
.exec_fd = -EBADF,
|
||||
};
|
||||
_cleanup_(sd_event_source_unrefp) sd_event_source *exec_fd_source = NULL;
|
||||
_cleanup_strv_free_ char **final_env = NULL, **our_env = NULL;
|
||||
@@ -3241,7 +3241,7 @@ static int service_demand_pid_file(Service *s) {
|
||||
/* PATH_CHANGED would not be enough. There are daemons (sendmail) that
|
||||
* keep their PID file open all the time. */
|
||||
ps->type = PATH_MODIFIED;
|
||||
ps->inotify_fd = -1;
|
||||
ps->inotify_fd = -EBADF;
|
||||
|
||||
s->pid_file_pathspec = ps;
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ int parse_show_status(const char *v, ShowStatus *ret) {
|
||||
int status_vprintf(const char *status, ShowStatusFlags flags, const char *format, va_list ap) {
|
||||
static const char status_indent[] = " "; /* "[" STATUS "] " */
|
||||
_cleanup_free_ char *s = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct iovec iovec[7] = {};
|
||||
int n = 0;
|
||||
static bool prev_ephemeral;
|
||||
|
||||
@@ -48,9 +48,9 @@ static int fdopen_unlocked_at(int dfd, const char *dir, const char *name, int *s
|
||||
}
|
||||
|
||||
static int write_access2_rules(const char *srcdir) {
|
||||
_cleanup_close_ int load2_fd = -1, change_fd = -1;
|
||||
_cleanup_close_ int load2_fd = -EBADF, change_fd = -EBADF;
|
||||
_cleanup_closedir_ DIR *dir = NULL;
|
||||
int dfd = -1, r = 0;
|
||||
int dfd = -EBADF, r = 0;
|
||||
|
||||
load2_fd = open("/sys/fs/smackfs/load2", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY);
|
||||
if (load2_fd < 0) {
|
||||
@@ -120,9 +120,9 @@ static int write_access2_rules(const char *srcdir) {
|
||||
}
|
||||
|
||||
static int write_cipso2_rules(const char *srcdir) {
|
||||
_cleanup_close_ int cipso2_fd = -1;
|
||||
_cleanup_close_ int cipso2_fd = -EBADF;
|
||||
_cleanup_closedir_ DIR *dir = NULL;
|
||||
int dfd = -1, r = 0;
|
||||
int dfd = -EBADF, r = 0;
|
||||
|
||||
cipso2_fd = open("/sys/fs/smackfs/cipso2", O_RDWR|O_CLOEXEC|O_NONBLOCK|O_NOCTTY);
|
||||
if (cipso2_fd < 0) {
|
||||
@@ -181,7 +181,7 @@ static int write_cipso2_rules(const char *srcdir) {
|
||||
static int write_netlabel_rules(const char *srcdir) {
|
||||
_cleanup_fclose_ FILE *dst = NULL;
|
||||
_cleanup_closedir_ DIR *dir = NULL;
|
||||
int dfd = -1, r = 0;
|
||||
int dfd = -EBADF, r = 0;
|
||||
|
||||
dst = fopen("/sys/fs/smackfs/netlabel", "we");
|
||||
if (!dst) {
|
||||
@@ -238,7 +238,7 @@ static int write_netlabel_rules(const char *srcdir) {
|
||||
}
|
||||
|
||||
static int write_onlycap_list(void) {
|
||||
_cleanup_close_ int onlycap_fd = -1;
|
||||
_cleanup_close_ int onlycap_fd = -EBADF;
|
||||
_cleanup_free_ char *list = NULL;
|
||||
_cleanup_fclose_ FILE *f = NULL;
|
||||
size_t len = 0;
|
||||
|
||||
+11
-11
@@ -1116,7 +1116,7 @@ static int fifo_address_create(
|
||||
mode_t directory_mode,
|
||||
mode_t socket_mode) {
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
mode_t old_mask;
|
||||
struct stat st;
|
||||
int r;
|
||||
@@ -1172,7 +1172,7 @@ fail:
|
||||
}
|
||||
|
||||
static int special_address_create(const char *path, bool writable) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct stat st;
|
||||
|
||||
assert(path);
|
||||
@@ -1192,7 +1192,7 @@ static int special_address_create(const char *path, bool writable) {
|
||||
}
|
||||
|
||||
static int usbffs_address_create(const char *path) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct stat st;
|
||||
|
||||
assert(path);
|
||||
@@ -1217,7 +1217,7 @@ static int mq_address_create(
|
||||
long maxmsg,
|
||||
long msgsize) {
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct stat st;
|
||||
mode_t old_mask;
|
||||
struct mq_attr _attr, *attr = NULL;
|
||||
@@ -1502,7 +1502,7 @@ static int socket_address_listen_in_cgroup(
|
||||
const SocketAddress *address,
|
||||
const char *label) {
|
||||
|
||||
_cleanup_close_pair_ int pair[2] = { -1, -1 };
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
int fd, r;
|
||||
pid_t pid;
|
||||
|
||||
@@ -1918,10 +1918,10 @@ static int socket_spawn(Socket *s, ExecCommand *c, pid_t *_pid) {
|
||||
|
||||
_cleanup_(exec_params_clear) ExecParameters exec_params = {
|
||||
.flags = EXEC_APPLY_SANDBOXING|EXEC_APPLY_CHROOT|EXEC_APPLY_TTY_STDIN,
|
||||
.stdin_fd = -1,
|
||||
.stdout_fd = -1,
|
||||
.stderr_fd = -1,
|
||||
.exec_fd = -1,
|
||||
.stdin_fd = -EBADF,
|
||||
.stdout_fd = -EBADF,
|
||||
.stderr_fd = -EBADF,
|
||||
.exec_fd = -EBADF,
|
||||
};
|
||||
pid_t pid;
|
||||
int r;
|
||||
@@ -2899,7 +2899,7 @@ static int socket_accept_do(Socket *s, int fd) {
|
||||
}
|
||||
|
||||
static int socket_accept_in_cgroup(Socket *s, SocketPort *p, int fd) {
|
||||
_cleanup_close_pair_ int pair[2] = { -1, -1 };
|
||||
_cleanup_close_pair_ int pair[2] = { -EBADF, -EBADF };
|
||||
int cfd, r;
|
||||
pid_t pid;
|
||||
|
||||
@@ -2978,7 +2978,7 @@ shortcut:
|
||||
|
||||
static int socket_dispatch_io(sd_event_source *source, int fd, uint32_t revents, void *userdata) {
|
||||
SocketPort *p = ASSERT_PTR(userdata);
|
||||
int cfd = -1;
|
||||
int cfd = -EBADF;
|
||||
|
||||
assert(fd >= 0);
|
||||
|
||||
|
||||
+4
-4
@@ -660,10 +660,10 @@ static int swap_spawn(Swap *s, ExecCommand *c, pid_t *_pid) {
|
||||
|
||||
_cleanup_(exec_params_clear) ExecParameters exec_params = {
|
||||
.flags = EXEC_APPLY_SANDBOXING|EXEC_APPLY_CHROOT|EXEC_APPLY_TTY_STDIN,
|
||||
.stdin_fd = -1,
|
||||
.stdout_fd = -1,
|
||||
.stderr_fd = -1,
|
||||
.exec_fd = -1,
|
||||
.stdin_fd = -EBADF,
|
||||
.stdout_fd = -EBADF,
|
||||
.stderr_fd = -EBADF,
|
||||
.exec_fd = -EBADF,
|
||||
};
|
||||
pid_t pid;
|
||||
int r;
|
||||
|
||||
+7
-7
@@ -115,15 +115,15 @@ Unit* unit_new(Manager *m, size_t size) {
|
||||
u->cgroup_invalidated_mask |= CGROUP_MASK_BPF_FIREWALL;
|
||||
u->failure_action_exit_status = u->success_action_exit_status = -1;
|
||||
|
||||
u->ip_accounting_ingress_map_fd = -1;
|
||||
u->ip_accounting_egress_map_fd = -1;
|
||||
u->ip_accounting_ingress_map_fd = -EBADF;
|
||||
u->ip_accounting_egress_map_fd = -EBADF;
|
||||
for (CGroupIOAccountingMetric i = 0; i < _CGROUP_IO_ACCOUNTING_METRIC_MAX; i++)
|
||||
u->io_accounting_last[i] = UINT64_MAX;
|
||||
|
||||
u->ipv4_allow_map_fd = -1;
|
||||
u->ipv6_allow_map_fd = -1;
|
||||
u->ipv4_deny_map_fd = -1;
|
||||
u->ipv6_deny_map_fd = -1;
|
||||
u->ipv4_allow_map_fd = -EBADF;
|
||||
u->ipv6_allow_map_fd = -EBADF;
|
||||
u->ipv4_deny_map_fd = -EBADF;
|
||||
u->ipv6_deny_map_fd = -EBADF;
|
||||
|
||||
u->last_section_private = -1;
|
||||
|
||||
@@ -5274,7 +5274,7 @@ static int unit_export_log_level_max(Unit *u, const ExecContext *c) {
|
||||
}
|
||||
|
||||
static int unit_export_log_extra_fields(Unit *u, const ExecContext *c) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct iovec *iovec;
|
||||
const char *p;
|
||||
char *pattern;
|
||||
|
||||
@@ -344,7 +344,7 @@ static int save_external_coredump(
|
||||
|
||||
_cleanup_(unlink_and_freep) char *tmp = NULL;
|
||||
_cleanup_free_ char *fn = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
uint64_t rlimit, process_limit, max_size;
|
||||
bool truncated, storage_on_tmpfs;
|
||||
struct stat st;
|
||||
@@ -458,7 +458,7 @@ static int save_external_coredump(
|
||||
if (arg_compress) {
|
||||
_cleanup_(unlink_and_freep) char *tmp_compressed = NULL;
|
||||
_cleanup_free_ char *fn_compressed = NULL;
|
||||
_cleanup_close_ int fd_compressed = -1;
|
||||
_cleanup_close_ int fd_compressed = -EBADF;
|
||||
uint64_t uncompressed_size = 0;
|
||||
|
||||
if (lseek(fd, 0, SEEK_SET) == (off_t) -1)
|
||||
@@ -584,7 +584,7 @@ static int allocate_journal_field(int fd, size_t size, char **ret, size_t *ret_s
|
||||
*/
|
||||
static int compose_open_fds(pid_t pid, char **open_fds) {
|
||||
_cleanup_closedir_ DIR *proc_fd_dir = NULL;
|
||||
_cleanup_close_ int proc_fdinfo_fd = -1;
|
||||
_cleanup_close_ int proc_fdinfo_fd = -EBADF;
|
||||
_cleanup_free_ char *buffer = NULL;
|
||||
_cleanup_fclose_ FILE *stream = NULL;
|
||||
const char *fddelim = "", *path;
|
||||
@@ -610,7 +610,7 @@ static int compose_open_fds(pid_t pid, char **open_fds) {
|
||||
FOREACH_DIRENT(de, proc_fd_dir, return -errno) {
|
||||
_cleanup_fclose_ FILE *fdinfo = NULL;
|
||||
_cleanup_free_ char *fdname = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
r = readlinkat_malloc(dirfd(proc_fd_dir), de->d_name, &fdname);
|
||||
if (r < 0)
|
||||
@@ -656,7 +656,7 @@ static int compose_open_fds(pid_t pid, char **open_fds) {
|
||||
static int get_process_ns(pid_t pid, const char *namespace, ino_t *ns) {
|
||||
const char *p;
|
||||
struct stat stbuf;
|
||||
_cleanup_close_ int proc_ns_dir_fd = -1;
|
||||
_cleanup_close_ int proc_ns_dir_fd = -EBADF;
|
||||
|
||||
p = procfs_file_alloca(pid, "ns");
|
||||
|
||||
@@ -771,7 +771,7 @@ static int submit_coredump(
|
||||
int input_fd) {
|
||||
|
||||
_cleanup_(json_variant_unrefp) JsonVariant *json_metadata = NULL;
|
||||
_cleanup_close_ int coredump_fd = -1, coredump_node_fd = -1;
|
||||
_cleanup_close_ int coredump_fd = -EBADF, coredump_node_fd = -EBADF;
|
||||
_cleanup_free_ char *filename = NULL, *coredump_data = NULL;
|
||||
_cleanup_free_ char *stacktrace = NULL;
|
||||
char *core_message;
|
||||
@@ -976,7 +976,7 @@ static int save_context(Context *context, const struct iovec_wrapper *iovw) {
|
||||
}
|
||||
|
||||
static int process_socket(int fd) {
|
||||
_cleanup_close_ int input_fd = -1;
|
||||
_cleanup_close_ int input_fd = -EBADF;
|
||||
Context context = {};
|
||||
struct iovec_wrapper iovw = {};
|
||||
struct iovec iovec;
|
||||
@@ -1074,7 +1074,7 @@ finish:
|
||||
}
|
||||
|
||||
static int send_iovec(const struct iovec_wrapper *iovw, int input_fd) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(iovw);
|
||||
|
||||
@@ -451,7 +451,7 @@ static void analyze_coredump_file(
|
||||
const char **ret_color,
|
||||
uint64_t *ret_size) {
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct stat st;
|
||||
int r;
|
||||
|
||||
@@ -965,7 +965,7 @@ static int save_core(sd_journal *j, FILE *file, char **path, bool *unlink_temp)
|
||||
_cleanup_free_ char *filename = NULL;
|
||||
size_t len;
|
||||
int r, fd;
|
||||
_cleanup_close_ int fdt = -1;
|
||||
_cleanup_close_ int fdt = -EBADF;
|
||||
char *temp = NULL;
|
||||
|
||||
assert(!(file && path)); /* At most one can be specified */
|
||||
@@ -1047,7 +1047,7 @@ static int save_core(sd_journal *j, FILE *file, char **path, bool *unlink_temp)
|
||||
|
||||
if (filename) {
|
||||
#if HAVE_COMPRESSION
|
||||
_cleanup_close_ int fdf = -1;
|
||||
_cleanup_close_ int fdf = -EBADF;
|
||||
|
||||
fdf = open(filename, O_RDONLY | O_CLOEXEC);
|
||||
if (fdf < 0) {
|
||||
|
||||
+1
-1
@@ -137,7 +137,7 @@ static int add_credentials_to_table(Table *t, bool encrypted) {
|
||||
for (;;) {
|
||||
_cleanup_free_ char *j = NULL;
|
||||
const char *secure, *secure_color = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct dirent *de;
|
||||
struct stat st;
|
||||
|
||||
|
||||
@@ -859,7 +859,7 @@ static int list_print_item(
|
||||
}
|
||||
|
||||
static int get_file_sha256(int inode_fd, uint8_t ret[static SHA256_DIGEST_SIZE]) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct sha256_ctx ctx;
|
||||
|
||||
/* convert O_PATH fd into a regular one */
|
||||
@@ -1063,7 +1063,7 @@ static int action_list_or_mtree_or_copy(DissectedImage *m, LoopDevice *d) {
|
||||
return log_error_errno(r, "Failed to relinquish DM and loopback block devices: %m");
|
||||
|
||||
if (arg_action == ACTION_COPY_FROM) {
|
||||
_cleanup_close_ int source_fd = -1, target_fd = -1;
|
||||
_cleanup_close_ int source_fd = -EBADF, target_fd = -EBADF;
|
||||
|
||||
source_fd = chase_symlinks_and_open(arg_source, mounted_dir, CHASE_PREFIX_ROOT|CHASE_WARN, O_RDONLY|O_CLOEXEC|O_NOCTTY, NULL);
|
||||
if (source_fd < 0)
|
||||
@@ -1108,7 +1108,7 @@ static int action_list_or_mtree_or_copy(DissectedImage *m, LoopDevice *d) {
|
||||
/* When this is a regular file we don't copy ownership! */
|
||||
|
||||
} else if (arg_action == ACTION_COPY_TO) {
|
||||
_cleanup_close_ int source_fd = -1, target_fd = -1, dfd = -1;
|
||||
_cleanup_close_ int source_fd = -EBADF, target_fd = -EBADF, dfd = -EBADF;
|
||||
_cleanup_free_ char *dn = NULL, *bn = NULL;
|
||||
|
||||
r = path_extract_directory(arg_target, &dn);
|
||||
@@ -1177,7 +1177,7 @@ static int action_list_or_mtree_or_copy(DissectedImage *m, LoopDevice *d) {
|
||||
/* When this is a regular file we don't copy ownership! */
|
||||
|
||||
} else {
|
||||
_cleanup_close_ int dfd = -1;
|
||||
_cleanup_close_ int dfd = -EBADF;
|
||||
|
||||
dfd = open(mounted_dir, O_DIRECTORY|O_CLOEXEC|O_RDONLY);
|
||||
if (dfd < 0)
|
||||
@@ -1199,7 +1199,7 @@ static int action_list_or_mtree_or_copy(DissectedImage *m, LoopDevice *d) {
|
||||
}
|
||||
|
||||
static int action_umount(const char *path) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
_cleanup_free_ char *canonical = NULL;
|
||||
_cleanup_(loop_device_unrefp) LoopDevice *d = NULL;
|
||||
_cleanup_(sd_device_unrefp) sd_device *dev = NULL;
|
||||
@@ -1219,7 +1219,7 @@ static int action_umount(const char *path) {
|
||||
|
||||
r = block_device_new_from_fd(fd, BLOCK_DEVICE_LOOKUP_WHOLE_DISK | BLOCK_DEVICE_LOOKUP_BACKING, &dev);
|
||||
if (r < 0) {
|
||||
_cleanup_close_ int usr_fd = -1;
|
||||
_cleanup_close_ int usr_fd = -EBADF;
|
||||
|
||||
/* The command `systemd-dissect --mount` expects that the image at least has the root or /usr
|
||||
* partition. If it does not have the root partition, then we mount the /usr partition on a
|
||||
|
||||
+2
-2
@@ -225,7 +225,7 @@ static int process_progress(int fd, FILE* console) {
|
||||
}
|
||||
|
||||
static int fsck_progress_socket(void) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r;
|
||||
|
||||
fd = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
@@ -241,7 +241,7 @@ static int fsck_progress_socket(void) {
|
||||
}
|
||||
|
||||
static int run(int argc, char *argv[]) {
|
||||
_cleanup_close_pair_ int progress_pipe[2] = { -1, -1 };
|
||||
_cleanup_close_pair_ int progress_pipe[2] = { -EBADF, -EBADF };
|
||||
_cleanup_(sd_device_unrefp) sd_device *dev = NULL;
|
||||
_cleanup_free_ char *dpath = NULL;
|
||||
_cleanup_fclose_ FILE *console = NULL;
|
||||
|
||||
@@ -106,7 +106,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
|
||||
(void) boot_config_select_special_entries(&config, /* skip_efivars= */ false);
|
||||
|
||||
_cleanup_close_ int orig_stdout_fd = -1;
|
||||
_cleanup_close_ int orig_stdout_fd = -EBADF;
|
||||
if (getenv_bool("SYSTEMD_FUZZ_OUTPUT") <= 0) {
|
||||
orig_stdout_fd = fcntl(fileno(stdout), F_DUPFD_CLOEXEC, 3);
|
||||
if (orig_stdout_fd < 0)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
_cleanup_(unlink_tempfilep) char name[] = "/tmp/fuzz-catalog.XXXXXX";
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
_cleanup_ordered_hashmap_free_free_free_ OrderedHashmap *h = NULL;
|
||||
|
||||
if (!getenv("SYSTEMD_LOG_LEVEL"))
|
||||
|
||||
@@ -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] = { -1, -1 }, client_pair[2] = { -1, -1 };
|
||||
_cleanup_close_pair_ int server_pair[2] = { -EBADF, -EBADF }, client_pair[2] = { -EBADF, -EBADF };
|
||||
_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;
|
||||
|
||||
@@ -78,7 +78,7 @@ static int add_container_getty(const char *tty) {
|
||||
}
|
||||
|
||||
static int verify_tty(const char *name) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
const char *p;
|
||||
|
||||
/* Some TTYs are weird and have been enumerated but don't work
|
||||
|
||||
+1
-1
@@ -1964,7 +1964,7 @@ static int with_home(int argc, char *argv[], void *userdata) {
|
||||
_cleanup_(sd_bus_message_unrefp) sd_bus_message *m = NULL, *reply = NULL;
|
||||
_cleanup_(sd_bus_flush_close_unrefp) sd_bus *bus = NULL;
|
||||
_cleanup_(user_record_unrefp) UserRecord *secret = NULL;
|
||||
_cleanup_close_ int acquired_fd = -1;
|
||||
_cleanup_close_ int acquired_fd = -EBADF;
|
||||
_cleanup_strv_free_ char **cmdline = NULL;
|
||||
const char *home;
|
||||
int r, ret;
|
||||
|
||||
@@ -597,7 +597,7 @@ int bus_home_method_acquire(
|
||||
|
||||
_cleanup_(user_record_unrefp) UserRecord *secret = NULL;
|
||||
_cleanup_(operation_unrefp) Operation *o = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
int r, please_suspend;
|
||||
Home *h = ASSERT_PTR(userdata);
|
||||
|
||||
@@ -635,7 +635,7 @@ int bus_home_method_ref(
|
||||
void *userdata,
|
||||
sd_bus_error *error) {
|
||||
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
Home *h = ASSERT_PTR(userdata);
|
||||
HomeState state;
|
||||
int please_suspend, r;
|
||||
|
||||
@@ -135,11 +135,11 @@ int home_new(Manager *m, UserRecord *hr, const char *sysfs, Home **ret) {
|
||||
.user_name = TAKE_PTR(nm),
|
||||
.uid = hr->uid,
|
||||
.state = _HOME_STATE_INVALID,
|
||||
.worker_stdout_fd = -1,
|
||||
.worker_stdout_fd = -EBADF,
|
||||
.sysfs = TAKE_PTR(ns),
|
||||
.signed_locally = -1,
|
||||
.pin_fd = -1,
|
||||
.luks_lock_fd = -1,
|
||||
.pin_fd = -EBADF,
|
||||
.luks_lock_fd = -EBADF,
|
||||
};
|
||||
|
||||
r = hashmap_put(m->homes_by_name, home->user_name, home);
|
||||
@@ -1137,7 +1137,7 @@ static int home_on_worker_process(sd_event_source *s, const siginfo_t *si, void
|
||||
static int home_start_work(Home *h, const char *verb, UserRecord *hr, UserRecord *secret) {
|
||||
_cleanup_(json_variant_unrefp) JsonVariant *v = NULL;
|
||||
_cleanup_(erase_and_freep) char *formatted = NULL;
|
||||
_cleanup_close_ int stdin_fd = -1, stdout_fd = -1;
|
||||
_cleanup_close_ int stdin_fd = -EBADF, stdout_fd = -EBADF;
|
||||
pid_t pid = 0;
|
||||
int r;
|
||||
|
||||
@@ -1496,7 +1496,7 @@ int home_create(Home *h, UserRecord *secret, sd_bus_error *error) {
|
||||
if (IN_SET(t, USER_TEST_MAYBE, USER_TEST_UNDEFINED))
|
||||
break; /* And if the image path test isn't conclusive, let's also go on */
|
||||
|
||||
if (IN_SET(t, -EBADFD, -ENOTDIR))
|
||||
if (IN_SET(t, -EBADF, -ENOTDIR))
|
||||
return sd_bus_error_setf(error, BUS_ERROR_HOME_EXISTS, "Selected home image of user %s already exists or has wrong inode type.", h->user_name);
|
||||
|
||||
return sd_bus_error_setf(error, BUS_ERROR_HOME_EXISTS, "Selected home image of user %s already exists.", h->user_name);
|
||||
@@ -2630,7 +2630,7 @@ static int on_home_ref_eof(sd_event_source *s, int fd, uint32_t revents, void *u
|
||||
}
|
||||
|
||||
int home_create_fifo(Home *h, bool please_suspend) {
|
||||
_cleanup_close_ int ret_fd = -1;
|
||||
_cleanup_close_ int ret_fd = -EBADF;
|
||||
sd_event_source **ss;
|
||||
const char *fn, *suffix;
|
||||
int r;
|
||||
@@ -2648,7 +2648,7 @@ int home_create_fifo(Home *h, bool please_suspend) {
|
||||
fn = strjoina("/run/systemd/home/", h->user_name, suffix);
|
||||
|
||||
if (!*ss) {
|
||||
_cleanup_close_ int ref_fd = -1;
|
||||
_cleanup_close_ int ref_fd = -EBADF;
|
||||
|
||||
(void) mkdir("/run/systemd/home/", 0755);
|
||||
if (mkfifo(fn, 0600) < 0 && errno != EEXIST)
|
||||
|
||||
@@ -860,7 +860,7 @@ static int manager_assess_image(
|
||||
|
||||
if (S_ISDIR(st.st_mode)) {
|
||||
_cleanup_free_ char *n = NULL, *user_name = NULL, *realm = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
UserStorage storage;
|
||||
|
||||
if (!directory_suffix)
|
||||
@@ -1041,7 +1041,7 @@ static ssize_t read_datagram(
|
||||
|
||||
CMSG_BUFFER_TYPE(CMSG_SPACE(sizeof(struct ucred)) + CMSG_SPACE(sizeof(int))) control;
|
||||
_cleanup_free_ void *buffer = NULL;
|
||||
_cleanup_close_ int passed_fd = -1;
|
||||
_cleanup_close_ int passed_fd = -EBADF;
|
||||
struct ucred *sender = NULL;
|
||||
struct cmsghdr *cmsg;
|
||||
struct msghdr mh;
|
||||
@@ -1119,7 +1119,7 @@ static ssize_t read_datagram(
|
||||
static int on_notify_socket(sd_event_source *s, int fd, uint32_t revents, void *userdata) {
|
||||
_cleanup_strv_free_ char **l = NULL;
|
||||
_cleanup_free_ void *datagram = NULL;
|
||||
_cleanup_close_ int passed_fd = -1;
|
||||
_cleanup_close_ int passed_fd = -EBADF;
|
||||
struct ucred sender = UCRED_INVALID;
|
||||
Manager *m = ASSERT_PTR(userdata);
|
||||
ssize_t n;
|
||||
@@ -1154,7 +1154,7 @@ static int on_notify_socket(sd_event_source *s, int fd, uint32_t revents, void *
|
||||
}
|
||||
|
||||
static int manager_listen_notify(Manager *m) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
union sockaddr_union sa = {
|
||||
.un.sun_family = AF_UNIX,
|
||||
.un.sun_path = "/run/systemd/home/notify",
|
||||
|
||||
@@ -17,7 +17,7 @@ Operation *operation_new(OperationType type, sd_bus_message *m) {
|
||||
.type = type,
|
||||
.n_ref = 1,
|
||||
.message = sd_bus_message_ref(m),
|
||||
.send_fd = -1,
|
||||
.send_fd = -EBADF,
|
||||
.result = -1,
|
||||
};
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ int home_activate_directory(
|
||||
int home_create_directory_or_subvolume(UserRecord *h, HomeSetup *setup, UserRecord **ret_home) {
|
||||
_cleanup_(rm_rf_subvolume_and_freep) char *temporary = NULL;
|
||||
_cleanup_(user_record_unrefp) UserRecord *new_home = NULL;
|
||||
_cleanup_close_ int mount_fd = -1;
|
||||
_cleanup_close_ int mount_fd = -EBADF;
|
||||
_cleanup_free_ char *d = NULL;
|
||||
bool is_subvolume = false;
|
||||
const char *ip;
|
||||
|
||||
@@ -491,7 +491,7 @@ int home_create_fscrypt(
|
||||
_cleanup_(rm_rf_physical_and_freep) char *temporary = NULL;
|
||||
_cleanup_(user_record_unrefp) UserRecord *new_home = NULL;
|
||||
_cleanup_(erase_and_freep) void *volume_key = NULL;
|
||||
_cleanup_close_ int mount_fd = -1;
|
||||
_cleanup_close_ int mount_fd = -EBADF;
|
||||
struct fscrypt_policy policy = {};
|
||||
size_t volume_key_size = 512 / 8;
|
||||
_cleanup_free_ char *d = NULL;
|
||||
|
||||
@@ -108,7 +108,7 @@ int run_mark_dirty(int fd, bool b) {
|
||||
}
|
||||
|
||||
int run_mark_dirty_by_path(const char *path, bool b) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
assert(path);
|
||||
|
||||
@@ -178,7 +178,7 @@ static int probe_file_system_by_fd(
|
||||
}
|
||||
|
||||
static int probe_file_system_by_path(const char *path, char **ret_fstype, sd_id128_t *ret_uuid) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
fd = open(path, O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NONBLOCK);
|
||||
if (fd < 0)
|
||||
@@ -203,7 +203,7 @@ static int block_get_size_by_fd(int fd, uint64_t *ret) {
|
||||
}
|
||||
|
||||
static int block_get_size_by_path(const char *path, uint64_t *ret) {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
fd = open(path, O_RDONLY|O_CLOEXEC|O_NOCTTY|O_NONBLOCK);
|
||||
if (fd < 0)
|
||||
@@ -1135,7 +1135,7 @@ int run_fallocate(int backing_fd, const struct stat *st) {
|
||||
}
|
||||
|
||||
int run_fallocate_by_path(const char *backing_path) {
|
||||
_cleanup_close_ int backing_fd = -1;
|
||||
_cleanup_close_ int backing_fd = -EBADF;
|
||||
|
||||
backing_fd = open(backing_path, O_RDWR|O_CLOEXEC|O_NOCTTY|O_NONBLOCK);
|
||||
if (backing_fd < 0)
|
||||
@@ -1187,7 +1187,7 @@ static int open_image_file(
|
||||
const char *force_image_path,
|
||||
struct stat *ret_stat) {
|
||||
|
||||
_cleanup_close_ int image_fd = -1;
|
||||
_cleanup_close_ int image_fd = -EBADF;
|
||||
struct stat st;
|
||||
const char *ip;
|
||||
int r;
|
||||
@@ -1959,7 +1959,7 @@ static bool supported_fs_size(const char *fstype, uint64_t host_size) {
|
||||
}
|
||||
|
||||
static int wait_for_devlink(const char *path) {
|
||||
_cleanup_close_ int inotify_fd = -1;
|
||||
_cleanup_close_ int inotify_fd = -EBADF;
|
||||
usec_t until;
|
||||
int r;
|
||||
|
||||
@@ -2141,7 +2141,7 @@ int home_create_luks(
|
||||
host_size = 0, partition_offset = 0, partition_size = 0; /* Unnecessary initialization to appease gcc */
|
||||
_cleanup_(user_record_unrefp) UserRecord *new_home = NULL;
|
||||
sd_id128_t partition_uuid, fs_uuid, luks_uuid, disk_uuid;
|
||||
_cleanup_close_ int mount_fd = -1;
|
||||
_cleanup_close_ int mount_fd = -EBADF;
|
||||
const char *fstype, *ip;
|
||||
struct statfs sfs;
|
||||
int r;
|
||||
@@ -3079,9 +3079,9 @@ int home_resize_luks(
|
||||
_cleanup_(user_record_unrefp) UserRecord *header_home = NULL, *embedded_home = NULL, *new_home = NULL;
|
||||
_cleanup_(fdisk_unref_tablep) struct fdisk_table *table = NULL;
|
||||
struct fdisk_partition *partition = NULL;
|
||||
_cleanup_close_ int opened_image_fd = -1;
|
||||
_cleanup_close_ int opened_image_fd = -EBADF;
|
||||
_cleanup_free_ char *whole_disk = NULL;
|
||||
int r, resize_type, image_fd = -1;
|
||||
int r, resize_type, image_fd = -EBADF;
|
||||
sd_id128_t disk_uuid;
|
||||
const char *ip, *ipo;
|
||||
struct statfs sfs;
|
||||
|
||||
@@ -186,7 +186,7 @@ static int append_identity_range(char **text, uid_t start, uid_t next_start, uid
|
||||
|
||||
static int make_userns(uid_t stored_uid, uid_t exposed_uid) {
|
||||
_cleanup_free_ char *text = NULL;
|
||||
_cleanup_close_ int userns_fd = -1;
|
||||
_cleanup_close_ int userns_fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(uid_is_valid(stored_uid));
|
||||
@@ -238,7 +238,7 @@ static int make_userns(uid_t stored_uid, uid_t exposed_uid) {
|
||||
}
|
||||
|
||||
int home_shift_uid(int dir_fd, const char *target, uid_t stored_uid, uid_t exposed_uid, int *ret_mount_fd) {
|
||||
_cleanup_close_ int mount_fd = -1, userns_fd = -1;
|
||||
_cleanup_close_ int mount_fd = -EBADF, userns_fd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(dir_fd >= 0);
|
||||
@@ -261,7 +261,7 @@ int home_shift_uid(int dir_fd, const char *target, uid_t stored_uid, uid_t expos
|
||||
log_debug_errno(errno, "The open_tree() syscall is not supported, not setting up UID shift mount: %m");
|
||||
|
||||
if (ret_mount_fd)
|
||||
*ret_mount_fd = -1;
|
||||
*ret_mount_fd = -EBADF;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -284,7 +284,7 @@ int home_shift_uid(int dir_fd, const char *target, uid_t stored_uid, uid_t expos
|
||||
log_debug_errno(errno, "UID/GID mapping for shifted mount not available, not setting it up: %m");
|
||||
|
||||
if (ret_mount_fd)
|
||||
*ret_mount_fd = -1;
|
||||
*ret_mount_fd = -EBADF;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
+3
-3
@@ -512,7 +512,7 @@ int home_sync_and_statfs(int root_fd, struct statfs *ret) {
|
||||
|
||||
static int read_identity_file(int root_fd, JsonVariant **ret) {
|
||||
_cleanup_(fclosep) FILE *identity_file = NULL;
|
||||
_cleanup_close_ int identity_fd = -1;
|
||||
_cleanup_close_ int identity_fd = -EBADF;
|
||||
unsigned line, column;
|
||||
int r;
|
||||
|
||||
@@ -543,7 +543,7 @@ static int read_identity_file(int root_fd, JsonVariant **ret) {
|
||||
static int write_identity_file(int root_fd, JsonVariant *v, uid_t uid) {
|
||||
_cleanup_(json_variant_unrefp) JsonVariant *normalized = NULL;
|
||||
_cleanup_(fclosep) FILE *identity_file = NULL;
|
||||
_cleanup_close_ int identity_fd = -1;
|
||||
_cleanup_close_ int identity_fd = -EBADF;
|
||||
_cleanup_free_ char *fn = NULL;
|
||||
int r;
|
||||
|
||||
@@ -785,7 +785,7 @@ int home_maybe_shift_uid(
|
||||
HomeSetupFlags flags,
|
||||
HomeSetup *setup) {
|
||||
|
||||
_cleanup_close_ int mount_fd = -1;
|
||||
_cleanup_close_ int mount_fd = -EBADF;
|
||||
struct stat st;
|
||||
|
||||
assert(h);
|
||||
|
||||
+2
-2
@@ -50,8 +50,8 @@ typedef struct HomeSetup {
|
||||
|
||||
#define HOME_SETUP_INIT \
|
||||
{ \
|
||||
.root_fd = -1, \
|
||||
.image_fd = -1, \
|
||||
.root_fd = -EBADF, \
|
||||
.image_fd = -EBADF, \
|
||||
.partition_offset = UINT64_MAX, \
|
||||
.partition_size = UINT64_MAX, \
|
||||
.key_serial = -1, \
|
||||
|
||||
@@ -477,7 +477,7 @@ static int acquire_home(
|
||||
_cleanup_(user_record_unrefp) UserRecord *ur = NULL, *secret = NULL;
|
||||
bool do_auth = please_authenticate, home_not_active = false, home_locked = false;
|
||||
_cleanup_(sd_bus_unrefp) sd_bus *bus = NULL;
|
||||
_cleanup_close_ int acquired_fd = -1;
|
||||
_cleanup_close_ int acquired_fd = -EBADF;
|
||||
_cleanup_free_ char *fd_field = NULL;
|
||||
const void *home_fd_ptr = NULL;
|
||||
const char *username = NULL;
|
||||
|
||||
@@ -84,8 +84,8 @@ int raw_export_new(
|
||||
return -ENOMEM;
|
||||
|
||||
*e = (RawExport) {
|
||||
.output_fd = -1,
|
||||
.input_fd = -1,
|
||||
.output_fd = -EBADF,
|
||||
.input_fd = -EBADF,
|
||||
.on_finished = on_finished,
|
||||
.userdata = userdata,
|
||||
.last_percent = UINT_MAX,
|
||||
@@ -267,7 +267,7 @@ static int reflink_snapshot(int fd, const char *path) {
|
||||
}
|
||||
|
||||
int raw_export_start(RawExport *e, const char *path, int fd, ImportCompressType compress) {
|
||||
_cleanup_close_ int sfd = -1, tfd = -1;
|
||||
_cleanup_close_ int sfd = -EBADF, tfd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(e);
|
||||
|
||||
@@ -90,8 +90,8 @@ int tar_export_new(
|
||||
return -ENOMEM;
|
||||
|
||||
*e = (TarExport) {
|
||||
.output_fd = -1,
|
||||
.tar_fd = -1,
|
||||
.output_fd = -EBADF,
|
||||
.tar_fd = -EBADF,
|
||||
.on_finished = on_finished,
|
||||
.userdata = userdata,
|
||||
.quota_referenced = UINT64_MAX,
|
||||
@@ -250,7 +250,7 @@ static int tar_export_on_defer(sd_event_source *s, void *userdata) {
|
||||
}
|
||||
|
||||
int tar_export_start(TarExport *e, const char *path, int fd, ImportCompressType compress) {
|
||||
_cleanup_close_ int sfd = -1;
|
||||
_cleanup_close_ int sfd = -EBADF;
|
||||
int r;
|
||||
|
||||
assert(e);
|
||||
|
||||
+2
-2
@@ -63,7 +63,7 @@ static int export_tar(int argc, char *argv[], void *userdata) {
|
||||
_cleanup_(sd_event_unrefp) sd_event *event = NULL;
|
||||
_cleanup_(image_unrefp) Image *image = NULL;
|
||||
const char *path = NULL, *local = NULL;
|
||||
_cleanup_close_ int open_fd = -1;
|
||||
_cleanup_close_ int open_fd = -EBADF;
|
||||
int r, fd;
|
||||
|
||||
if (hostname_is_valid(argv[1], 0)) {
|
||||
@@ -139,7 +139,7 @@ static int export_raw(int argc, char *argv[], void *userdata) {
|
||||
_cleanup_(sd_event_unrefp) sd_event *event = NULL;
|
||||
_cleanup_(image_unrefp) Image *image = NULL;
|
||||
const char *path = NULL, *local = NULL;
|
||||
_cleanup_close_ int open_fd = -1;
|
||||
_cleanup_close_ int open_fd = -EBADF;
|
||||
int r, fd;
|
||||
|
||||
if (hostname_is_valid(argv[1], 0)) {
|
||||
|
||||
@@ -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] = { -1, -1 };
|
||||
_cleanup_close_pair_ int pipefd[2] = { -EBADF, -EBADF };
|
||||
bool use_selinux;
|
||||
pid_t pid;
|
||||
int r;
|
||||
@@ -96,7 +96,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] = { -1, -1 };
|
||||
_cleanup_close_pair_ int pipefd[2] = { -EBADF, -EBADF };
|
||||
bool use_selinux;
|
||||
pid_t pid;
|
||||
int r;
|
||||
|
||||
@@ -100,7 +100,7 @@ static int import_fs(int argc, char *argv[], void *userdata) {
|
||||
_cleanup_(progress_info_free) ProgressInfo progress = {};
|
||||
_cleanup_free_ char *l = NULL, *final_path = NULL;
|
||||
const char *path = NULL, *local = NULL, *dest = NULL;
|
||||
_cleanup_close_ int open_fd = -1;
|
||||
_cleanup_close_ int open_fd = -EBADF;
|
||||
int r, fd;
|
||||
|
||||
if (argc >= 2)
|
||||
|
||||
@@ -105,8 +105,8 @@ int raw_import_new(
|
||||
return -ENOMEM;
|
||||
|
||||
*i = (RawImport) {
|
||||
.input_fd = -1,
|
||||
.output_fd = -1,
|
||||
.input_fd = -EBADF,
|
||||
.output_fd = -EBADF,
|
||||
.on_finished = on_finished,
|
||||
.userdata = userdata,
|
||||
.last_percent = UINT_MAX,
|
||||
@@ -154,7 +154,7 @@ static void raw_import_report_progress(RawImport *i) {
|
||||
}
|
||||
|
||||
static int raw_import_maybe_convert_qcow2(RawImport *i) {
|
||||
_cleanup_close_ int converted_fd = -1;
|
||||
_cleanup_close_ int converted_fd = -EBADF;
|
||||
_cleanup_(unlink_and_freep) char *t = NULL;
|
||||
_cleanup_free_ char *f = NULL;
|
||||
int r;
|
||||
|
||||
@@ -107,8 +107,8 @@ int tar_import_new(
|
||||
return -ENOMEM;
|
||||
|
||||
*i = (TarImport) {
|
||||
.input_fd = -1,
|
||||
.tar_fd = -1,
|
||||
.input_fd = -EBADF,
|
||||
.tar_fd = -EBADF,
|
||||
.on_finished = on_finished,
|
||||
.userdata = userdata,
|
||||
.last_percent = UINT_MAX,
|
||||
|
||||
+3
-3
@@ -83,7 +83,7 @@ static int normalize_local(const char *local, char **ret) {
|
||||
}
|
||||
|
||||
static int open_source(const char *path, const char *local, int *ret_open_fd) {
|
||||
_cleanup_close_ int open_fd = -1;
|
||||
_cleanup_close_ int open_fd = -EBADF;
|
||||
int retval;
|
||||
|
||||
assert(local);
|
||||
@@ -132,7 +132,7 @@ static int import_tar(int argc, char *argv[], void *userdata) {
|
||||
_cleanup_free_ char *ll = NULL, *normalized = NULL;
|
||||
_cleanup_(sd_event_unrefp) sd_event *event = NULL;
|
||||
const char *path = NULL, *local = NULL;
|
||||
_cleanup_close_ int open_fd = -1;
|
||||
_cleanup_close_ int open_fd = -EBADF;
|
||||
int r, fd;
|
||||
|
||||
if (argc >= 2)
|
||||
@@ -204,7 +204,7 @@ static int import_raw(int argc, char *argv[], void *userdata) {
|
||||
_cleanup_free_ char *ll = NULL, *normalized = NULL;
|
||||
_cleanup_(sd_event_unrefp) sd_event *event = NULL;
|
||||
const char *path = NULL, *local = NULL;
|
||||
_cleanup_close_ int open_fd = -1;
|
||||
_cleanup_close_ int open_fd = -EBADF;
|
||||
int r, fd;
|
||||
|
||||
if (argc >= 2)
|
||||
|
||||
@@ -157,9 +157,9 @@ static int transfer_new(Manager *m, Transfer **ret) {
|
||||
|
||||
*t = (Transfer) {
|
||||
.type = _TRANSFER_TYPE_INVALID,
|
||||
.log_fd = -1,
|
||||
.stdin_fd = -1,
|
||||
.stdout_fd = -1,
|
||||
.log_fd = -EBADF,
|
||||
.stdin_fd = -EBADF,
|
||||
.stdout_fd = -EBADF,
|
||||
.verify = _IMPORT_VERIFY_INVALID,
|
||||
.progress_percent= UINT_MAX,
|
||||
};
|
||||
@@ -356,7 +356,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] = { -1, -1 };
|
||||
_cleanup_close_pair_ int pipefd[2] = { -EBADF, -EBADF };
|
||||
int r;
|
||||
|
||||
assert(t);
|
||||
|
||||
@@ -381,7 +381,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] = { -1, -1 };
|
||||
_cleanup_close_pair_ int gpg_pipe[2] = { -EBADF, -EBADF };
|
||||
char sig_file_path[] = "/tmp/sigXXXXXX", gpg_home[] = "/tmp/gpghomeXXXXXX";
|
||||
_cleanup_(sigkill_waitp) pid_t pid = 0;
|
||||
bool gpg_home_created = false;
|
||||
|
||||
@@ -27,7 +27,7 @@ void pull_job_close_disk_fd(PullJob *j) {
|
||||
if (j->close_disk_fd)
|
||||
safe_close(j->disk_fd);
|
||||
|
||||
j->disk_fd = -1;
|
||||
j->disk_fd = -EBADF;
|
||||
}
|
||||
|
||||
PullJob* pull_job_unref(PullJob *j) {
|
||||
@@ -692,7 +692,7 @@ int pull_job_new(
|
||||
|
||||
*j = (PullJob) {
|
||||
.state = PULL_JOB_INIT,
|
||||
.disk_fd = -1,
|
||||
.disk_fd = -EBADF,
|
||||
.close_disk_fd = true,
|
||||
.userdata = userdata,
|
||||
.glue = glue,
|
||||
|
||||
@@ -238,7 +238,7 @@ static void raw_pull_report_progress(RawPull *i, RawProgress p) {
|
||||
|
||||
static int raw_pull_maybe_convert_qcow2(RawPull *i) {
|
||||
_cleanup_(unlink_and_freep) char *t = NULL;
|
||||
_cleanup_close_ int converted_fd = -1;
|
||||
_cleanup_close_ int converted_fd = -EBADF;
|
||||
_cleanup_free_ char *f = NULL;
|
||||
int r;
|
||||
|
||||
@@ -346,7 +346,7 @@ static int raw_pull_copy_auxiliary_file(
|
||||
static int raw_pull_make_local_copy(RawPull *i) {
|
||||
_cleanup_(unlink_and_freep) char *tp = NULL;
|
||||
_cleanup_free_ char *f = NULL;
|
||||
_cleanup_close_ int dfd = -1;
|
||||
_cleanup_close_ int dfd = -EBADF;
|
||||
const char *p;
|
||||
int r;
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
#include "qcow2-util.h"
|
||||
|
||||
int main(int argc, char *argv[]) {
|
||||
_cleanup_close_ int sfd = -1, dfd = -1;
|
||||
_cleanup_close_ int sfd = -EBADF, dfd = -EBADF;
|
||||
int r;
|
||||
|
||||
if (argc != 3) {
|
||||
|
||||
@@ -19,7 +19,7 @@ int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
|
||||
int fdin;
|
||||
void *mem;
|
||||
_cleanup_(unlink_tempfilep) char name[] = "/tmp/fuzz-journal-remote.XXXXXX.journal";
|
||||
_cleanup_close_ int fdout = -1;
|
||||
_cleanup_close_ int fdout = -EBADF;
|
||||
_cleanup_(sd_journal_closep) sd_journal *j = NULL;
|
||||
_cleanup_(journal_remote_server_destroy) RemoteServer s = {};
|
||||
int r;
|
||||
|
||||
@@ -127,7 +127,7 @@ static int request_meta_ensure_tmp(RequestMeta *m) {
|
||||
if (m->tmp)
|
||||
rewind(m->tmp);
|
||||
else {
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
|
||||
fd = open_tmpfile_unlinkable("/tmp", O_RDWR|O_CLOEXEC);
|
||||
if (fd < 0)
|
||||
@@ -670,7 +670,7 @@ static int request_handler_file(
|
||||
const char *mime_type) {
|
||||
|
||||
_cleanup_(MHD_destroy_responsep) struct MHD_Response *response = NULL;
|
||||
_cleanup_close_ int fd = -1;
|
||||
_cleanup_close_ int fd = -EBADF;
|
||||
struct stat st;
|
||||
|
||||
assert(connection);
|
||||
|
||||
@@ -294,7 +294,7 @@ int journal_remote_add_raw_socket(RemoteServer *s, int fd) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
fd_ = -1;
|
||||
fd_ = -EBADF;
|
||||
s->active++;
|
||||
return 0;
|
||||
}
|
||||
@@ -483,7 +483,7 @@ static int accept_connection(
|
||||
SocketAddress *addr,
|
||||
char **hostname) {
|
||||
|
||||
_cleanup_close_ int fd2 = -1;
|
||||
_cleanup_close_ int fd2 = -EBADF;
|
||||
int r;
|
||||
|
||||
log_debug("Accepting new %s connection on fd:%d", type, fd);
|
||||
|
||||
+1
-1
@@ -122,7 +122,7 @@ static int parse_argv(int argc, char *argv[]) {
|
||||
}
|
||||
|
||||
static int run(int argc, char *argv[]) {
|
||||
_cleanup_close_ int outfd = -1, errfd = -1, saved_stderr = -1;
|
||||
_cleanup_close_ int outfd = -EBADF, errfd = -EBADF, saved_stderr = -EBADF;
|
||||
int r;
|
||||
|
||||
log_setup();
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user