From f3a94448968760d560ad8768700e948c24cf6955 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 8 Sep 2026 19:53:30 +0900 Subject: [PATCH 1/2] tar-util: fix error cause passed to logger --- src/shared/tar-util.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/shared/tar-util.c b/src/shared/tar-util.c index 1ba569e734..70eefdec31 100644 --- a/src/shared/tar-util.c +++ b/src/shared/tar-util.c @@ -1366,17 +1366,17 @@ static int archive_write_acl( int permset = 0; r = sym_acl_get_perm(p, ACL_READ); if (r < 0) - return log_error_errno(r, "Failed to get ACL entry read bit: %m"); + return log_error_errno(errno, "Failed to get ACL entry read bit: %m"); SET_FLAG(permset, ARCHIVE_ENTRY_ACL_READ, r); r = sym_acl_get_perm(p, ACL_WRITE); if (r < 0) - return log_error_errno(r, "Failed to get ACL entry write bit: %m"); + return log_error_errno(errno, "Failed to get ACL entry write bit: %m"); SET_FLAG(permset, ARCHIVE_ENTRY_ACL_WRITE, r); r = sym_acl_get_perm(p, ACL_EXECUTE); if (r < 0) - return log_error_errno(r, "Failed to get ACL entry execute bit: %m"); + return log_error_errno(errno, "Failed to get ACL entry execute bit: %m"); SET_FLAG(permset, ARCHIVE_ENTRY_ACL_EXECUTE, r); r = sym_archive_entry_acl_add_entry(entry, type, permset, tag, qualifier, /* name= */ NULL); From 2170ce77f285048ed05a8fdda5ee2cee36e51fb0 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Tue, 8 Sep 2026 20:30:32 +0900 Subject: [PATCH 2/2] acl-util: make acl_set_perm() helper return negative errno All callers expect it returns negative errno on failure. --- src/shared/acl-util.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/shared/acl-util.h b/src/shared/acl-util.h index c1eebac805..35b97780c6 100644 --- a/src/shared/acl-util.h +++ b/src/shared/acl-util.h @@ -2,6 +2,7 @@ #pragma once #include "dlopen-note.h" +#include "errno-util.h" #include "forward.h" #if HAVE_ACL @@ -62,7 +63,7 @@ DEFINE_TRIVIAL_CLEANUP_FUNC_FULL_RENAME(uid_t*, sym_acl_free, acl_free_uid_tpp, DEFINE_TRIVIAL_CLEANUP_FUNC_FULL_RENAME(gid_t*, sym_acl_free, acl_free_gid_tpp, NULL); static inline int acl_set_perm(acl_permset_t ps, acl_perm_t p, bool b) { - return (b ? sym_acl_add_perm : sym_acl_delete_perm)(ps, p); + return RET_NERRNO((b ? sym_acl_add_perm : sym_acl_delete_perm)(ps, p)); } #else