mirror of
https://github.com/systemd/systemd.git
synced 2024-11-02 19:21:53 +03:00
tree-wide: no need to pass excess flags to open()/openat() if O_PATH is passed
As described in the documentation: When O_PATH is specified in flags, flag bits other than O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW are ignored. So, we can remove unnecessary flags in a case when O_PATH is passed to the open() or openat().
This commit is contained in:
parent
6014237390
commit
c4b6915670
@ -47,7 +47,7 @@ static int fd_fdinfo_mnt_id(int fd, const char *filename, int flags, int *mnt_id
|
||||
if ((flags & AT_EMPTY_PATH) && isempty(filename))
|
||||
xsprintf(path, "/proc/self/fdinfo/%i", fd);
|
||||
else {
|
||||
subfd = openat(fd, filename, O_RDONLY|O_CLOEXEC|O_NOCTTY|O_PATH);
|
||||
subfd = openat(fd, filename, O_CLOEXEC|O_PATH);
|
||||
if (subfd < 0)
|
||||
return -errno;
|
||||
|
||||
@ -230,7 +230,7 @@ int path_is_mount_point(const char *t, int flags) {
|
||||
if (!parent)
|
||||
return -ENOMEM;
|
||||
|
||||
fd = openat(AT_FDCWD, parent, O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_PATH);
|
||||
fd = openat(AT_FDCWD, parent, O_DIRECTORY|O_CLOEXEC|O_PATH);
|
||||
if (fd < 0)
|
||||
return -errno;
|
||||
|
||||
|
@ -110,7 +110,7 @@ ssize_t fgetxattrat_fake(int dirfd, const char *filename, const char *attribute,
|
||||
|
||||
/* The kernel doesn't have a fgetxattrat() command, hence let's emulate one */
|
||||
|
||||
fd = openat(dirfd, filename, O_RDONLY|O_CLOEXEC|O_NOCTTY|O_PATH|(flags & AT_SYMLINK_NOFOLLOW ? O_NOFOLLOW : 0));
|
||||
fd = openat(dirfd, filename, O_CLOEXEC|O_PATH|(flags & AT_SYMLINK_NOFOLLOW ? O_NOFOLLOW : 0));
|
||||
if (fd < 0)
|
||||
return -errno;
|
||||
|
||||
|
@ -613,7 +613,7 @@ static int path_set_perms(Item *i, const char *path) {
|
||||
* with AT_SYMLINK_NOFOLLOW, hence we emulate it here via
|
||||
* O_PATH. */
|
||||
|
||||
fd = open(path, O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_PATH|O_NOATIME);
|
||||
fd = open(path, O_NOFOLLOW|O_CLOEXEC|O_PATH);
|
||||
if (fd < 0)
|
||||
return log_error_errno(errno, "Adjusting owner and mode for %s failed: %m", path);
|
||||
|
||||
@ -804,7 +804,7 @@ static int path_set_acls(Item *item, const char *path) {
|
||||
assert(item);
|
||||
assert(path);
|
||||
|
||||
fd = open(path, O_RDONLY|O_NOFOLLOW|O_CLOEXEC|O_PATH|O_NOATIME);
|
||||
fd = open(path, O_NOFOLLOW|O_CLOEXEC|O_PATH);
|
||||
if (fd < 0)
|
||||
return log_error_errno(errno, "Adjusting ACL of %s failed: %m", path);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user