repart: Don't copy root directory mode from source file

If the source is a file, don't copy the mode and such from it to
the root directory, even if the target is /.
This commit is contained in:
Daan De Meyer
2024-10-04 21:33:52 +02:00
parent 598bb6fde4
commit 413d3ce1b7
+2
View File
@@ -5518,6 +5518,8 @@ static int do_copy_files(Context *context, Partition *p, const char *root) {
return -errno;
sfd = chase_and_open(*source, arg_copy_source, CHASE_PREFIX_ROOT, O_PATH|O_DIRECTORY|O_CLOEXEC|O_NOCTTY, NULL);
if (sfd == -ENOTDIR)
continue;
if (sfd < 0)
return log_error_errno(sfd, "Failed to open source file '%s%s': %m", strempty(arg_copy_source), *source);