From: Daan De Meyer Date: Fri, 4 Oct 2024 19:33:52 +0000 (+0200) Subject: repart: Don't copy root directory mode from source file X-Git-Tag: v257-rc1~322^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=413d3ce1b76b42ba691eea54cd1704b14602442e;p=thirdparty%2Fsystemd.git 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 /. --- diff --git a/src/partition/repart.c b/src/partition/repart.c index 95ae0a3158e..c87cceb4da3 100644 --- a/src/partition/repart.c +++ b/src/partition/repart.c @@ -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);