From: Krzesimir Nowak Date: Wed, 28 Feb 2024 15:34:05 +0000 (+0100) Subject: sysext: Fail when trying to import mutable layer that's a symlink to hierarchy X-Git-Tag: v256-rc1~405^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f94da307f91e4f3346dca62c7c50a7816a2d946a;p=thirdparty%2Fsystemd.git sysext: Fail when trying to import mutable layer that's a symlink to hierarchy --- diff --git a/src/sysext/sysext.c b/src/sysext/sysext.c index 267c90f9764..b984e9b9a07 100644 --- a/src/sysext/sysext.c +++ b/src/sysext/sysext.c @@ -880,10 +880,8 @@ static int maybe_import_mutable_directory(OverlayFSPaths *op) { r = resolved_paths_equal(op->resolved_hierarchy, op->resolved_mutable_directory); if (r < 0) return log_error_errno(r, "Failed to check equality of hierarchy %s and its mutable directory %s: %m", op->resolved_hierarchy, op->resolved_mutable_directory); - if (r > 0) { - log_debug("Not importing mutable directory for hierarchy %s as a lower dir, because it points to the hierarchy itself", op->hierarchy); - return 0; - } + if (r > 0) + return log_error_errno(SYNTHETIC_ERRNO(ELOOP), "Not importing mutable directory for hierarchy %s as a lower dir, because it points to the hierarchy itself", op->hierarchy); r = strv_extend(&op->lower_dirs, op->resolved_mutable_directory); if (r < 0) @@ -919,10 +917,8 @@ static int maybe_import_ignored_mutable_directory(OverlayFSPaths *op) { if (r < 0) return log_error_errno(r, "Failed to check equality of hierarchy %s and its mutable directory %s: %m", op->resolved_hierarchy, op->resolved_mutable_directory); - if (r > 0) { - log_debug("Not importing mutable directory for hierarchy %s as a lower dir, because it points to the hierarchy itself", op->hierarchy); - return 0; - } + if (r > 0) + return log_error_errno(SYNTHETIC_ERRNO(ELOOP), "Not importing mutable directory for hierarchy %s as a lower dir, because it points to the hierarchy itself", op->hierarchy); r = strv_consume(&op->lower_dirs, TAKE_PTR(resolved_path)); if (r < 0)