From b24bd25253fe093f722ab576d29fdc41d04cb1ee Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Fri, 2 Aug 2019 19:14:55 +0100 Subject: gentoo resync : 02.08.2019 --- sys-apps/systemd/files/243-rc1-analyze.patch | 125 +++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 sys-apps/systemd/files/243-rc1-analyze.patch (limited to 'sys-apps/systemd/files') diff --git a/sys-apps/systemd/files/243-rc1-analyze.patch b/sys-apps/systemd/files/243-rc1-analyze.patch new file mode 100644 index 000000000000..e38b51eb1210 --- /dev/null +++ b/sys-apps/systemd/files/243-rc1-analyze.patch @@ -0,0 +1,125 @@ +From 417b82e1c341946d277383471f2972b7227061ff Mon Sep 17 00:00:00 2001 +From: Mike Gilbert +Date: Tue, 30 Jul 2019 14:51:38 -0400 +Subject: [PATCH] analyze: declare dump_exit_status outside of HAVE_SECCOMP + block + +Fixes: 76ed04d936f757763c32db5dbaaebd8b13785d7b +Closes: https://github.com/systemd/systemd/issues/13230 +--- + src/analyze/analyze.c | 92 +++++++++++++++++++++---------------------- + 1 file changed, 46 insertions(+), 46 deletions(-) + +diff --git a/src/analyze/analyze.c b/src/analyze/analyze.c +index f62879371d..4d81026084 100644 +--- a/src/analyze/analyze.c ++++ b/src/analyze/analyze.c +@@ -1608,6 +1608,52 @@ static int dump_unit_paths(int argc, char *argv[], void *userdata) { + return 0; + } + ++static int dump_exit_status(int argc, char *argv[], void *userdata) { ++ _cleanup_(table_unrefp) Table *table = NULL; ++ int r; ++ ++ table = table_new("name", "status", "class"); ++ if (!table) ++ return log_oom(); ++ ++ r = table_set_align_percent(table, table_get_cell(table, 0, 1), 100); ++ if (r < 0) ++ return log_error_errno(r, "Failed to right-align status: %m"); ++ ++ if (strv_isempty(strv_skip(argv, 1))) ++ for (size_t i = 0; i < ELEMENTSOF(exit_status_mappings); i++) { ++ if (!exit_status_mappings[i].name) ++ continue; ++ ++ r = table_add_many(table, ++ TABLE_STRING, exit_status_mappings[i].name, ++ TABLE_INT, (int) i, ++ TABLE_STRING, exit_status_class(i)); ++ if (r < 0) ++ return r; ++ } ++ else ++ for (int i = 1; i < argc; i++) { ++ int status; ++ ++ status = exit_status_from_string(argv[i]); ++ if (status < 0) ++ return log_error_errno(r, "Invalid exit status \"%s\": %m", argv[i]); ++ ++ assert(status >= 0 && (size_t) status < ELEMENTSOF(exit_status_mappings)); ++ r = table_add_many(table, ++ TABLE_STRING, exit_status_mappings[status].name ?: "-", ++ TABLE_INT, status, ++ TABLE_STRING, exit_status_class(status) ?: "-"); ++ if (r < 0) ++ return r; ++ } ++ ++ (void) pager_open(arg_pager_flags); ++ ++ return table_print(table, NULL); ++} ++ + #if HAVE_SECCOMP + + static int load_kernel_syscalls(Set **ret) { +@@ -1685,52 +1731,6 @@ static void dump_syscall_filter(const SyscallFilterSet *set) { + printf(" %s%s%s\n", syscall[0] == '@' ? ansi_underline() : "", syscall, ansi_normal()); + } + +-static int dump_exit_status(int argc, char *argv[], void *userdata) { +- _cleanup_(table_unrefp) Table *table = NULL; +- int r; +- +- table = table_new("name", "status", "class"); +- if (!table) +- return log_oom(); +- +- r = table_set_align_percent(table, table_get_cell(table, 0, 1), 100); +- if (r < 0) +- return log_error_errno(r, "Failed to right-align status: %m"); +- +- if (strv_isempty(strv_skip(argv, 1))) +- for (size_t i = 0; i < ELEMENTSOF(exit_status_mappings); i++) { +- if (!exit_status_mappings[i].name) +- continue; +- +- r = table_add_many(table, +- TABLE_STRING, exit_status_mappings[i].name, +- TABLE_INT, (int) i, +- TABLE_STRING, exit_status_class(i)); +- if (r < 0) +- return r; +- } +- else +- for (int i = 1; i < argc; i++) { +- int status; +- +- status = exit_status_from_string(argv[i]); +- if (status < 0) +- return log_error_errno(r, "Invalid exit status \"%s\": %m", argv[i]); +- +- assert(status >= 0 && (size_t) status < ELEMENTSOF(exit_status_mappings)); +- r = table_add_many(table, +- TABLE_STRING, exit_status_mappings[status].name ?: "-", +- TABLE_INT, status, +- TABLE_STRING, exit_status_class(status) ?: "-"); +- if (r < 0) +- return r; +- } +- +- (void) pager_open(arg_pager_flags); +- +- return table_print(table, NULL); +-} +- + static int dump_syscall_filters(int argc, char *argv[], void *userdata) { + bool first = true; + +-- +2.22.0 + -- cgit v1.2.3