dissect-image: teach mountfsd_make_directory() the new access mode parameter

This commit is contained in:
Lennart Poettering
2025-12-21 07:04:42 +01:00
parent a9b60de478
commit b7d1d17b9c
5 changed files with 10 additions and 6 deletions
+1 -1
View File
@@ -257,7 +257,7 @@ static int tar_import_fork_tar(TarImport *i) {
return r;
_cleanup_close_ int directory_fd = -EBADF;
r = mountfsd_make_directory(d, /* flags= */ 0, &directory_fd);
r = mountfsd_make_directory(d, MODE_INVALID, /* flags= */ 0, &directory_fd);
if (r < 0)
return r;
+2 -2
View File
@@ -297,7 +297,7 @@ static int tar_pull_make_local_copy(TarPull *p) {
}
_cleanup_close_ int directory_fd = -EBADF;
r = mountfsd_make_directory(t, /* flags= */ 0, &directory_fd);
r = mountfsd_make_directory(t, MODE_INVALID, /* flags= */ 0, &directory_fd);
if (r < 0)
return r;
@@ -609,7 +609,7 @@ static int tar_pull_job_on_open_disk_tar(PullJob *j) {
return r;
_cleanup_close_ int directory_fd = -EBADF;
r = mountfsd_make_directory(where, /* flags= */ 0, &directory_fd);
r = mountfsd_make_directory(where, MODE_INVALID, /* flags= */ 0, &directory_fd);
if (r < 0)
return r;
+1
View File
@@ -1491,6 +1491,7 @@ static int unpriviled_clone(Image *i, const char *new_path) {
_cleanup_close_ int new_fd = -EBADF;
r = mountfsd_make_directory(
new_path,
MODE_INVALID,
/* flags= */ 0,
&new_fd);
if (r < 0)
+4 -1
View File
@@ -5329,6 +5329,7 @@ int mountfsd_mount_directory(
int mountfsd_make_directory_fd(
int parent_fd,
const char *name,
mode_t mode,
DissectImageFlags flags,
int *ret_directory_fd) {
@@ -5363,6 +5364,7 @@ int mountfsd_make_directory_fd(
&error_id,
SD_JSON_BUILD_PAIR_UNSIGNED("parentFileDescriptor", 0),
SD_JSON_BUILD_PAIR_STRING("name", name),
SD_JSON_BUILD_PAIR_CONDITION(!IN_SET(mode, MODE_INVALID, 0700), "mode", SD_JSON_BUILD_UNSIGNED(mode)), /* suppress this field if default/unset */
SD_JSON_BUILD_PAIR_BOOLEAN("allowInteractiveAuthentication", FLAGS_SET(flags, DISSECT_IMAGE_ALLOW_INTERACTIVE_AUTH)));
if (r < 0)
return r;
@@ -5388,6 +5390,7 @@ int mountfsd_make_directory_fd(
int mountfsd_make_directory(
const char *path,
mode_t mode,
DissectImageFlags flags,
int *ret_directory_fd) {
@@ -5407,5 +5410,5 @@ int mountfsd_make_directory(
if (fd < 0)
return log_error_errno(r, "Failed to open '%s': %m", parent);
return mountfsd_make_directory_fd(fd, dirname, flags, ret_directory_fd);
return mountfsd_make_directory_fd(fd, dirname, mode, flags, ret_directory_fd);
}
+2 -2
View File
@@ -273,5 +273,5 @@ int mountfsd_mount_image(const char *path, int userns_fd, const ImagePolicy *ima
int mountfsd_mount_directory_fd(int directory_fd, int userns_fd, DissectImageFlags flags, int *ret_mount_fd);
int mountfsd_mount_directory(const char *path, int userns_fd, DissectImageFlags flags, int *ret_mount_fd);
int mountfsd_make_directory_fd(int parent_fd, const char *name, DissectImageFlags flags, int *ret_directory_fd);
int mountfsd_make_directory(const char *path, DissectImageFlags flags, int *ret_directory_fd);
int mountfsd_make_directory_fd(int parent_fd, const char *name, mode_t mode, DissectImageFlags flags, int *ret_directory_fd);
int mountfsd_make_directory(const char *path, mode_t mode, DissectImageFlags flags, int *ret_directory_fd);