From: Zbigniew Jędrzejewski-Szmek Date: Sat, 5 Nov 2022 16:47:06 +0000 (+0100) Subject: basic,shared: move disable_coredumps() to coredump-util.[ch] X-Git-Tag: v253-rc1~572^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c8715007e09898f3d517863c4d8b3249bee0b4ad;p=thirdparty%2Fsystemd.git basic,shared: move disable_coredumps() to coredump-util.[ch] --- diff --git a/src/basic/util.c b/src/basic/util.c index 74f5ad7236a..c63e2bb5830 100644 --- a/src/basic/util.c +++ b/src/basic/util.c @@ -26,15 +26,3 @@ int version(void) { systemd_features); return 0; } - -/* Turn off core dumps but only if we're running outside of a container. */ -void disable_coredumps(void) { - int r; - - if (detect_container() > 0) - return; - - r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER); - if (r < 0) - log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); -} diff --git a/src/basic/util.h b/src/basic/util.h index 6438555c6ca..f28fd2f327f 100644 --- a/src/basic/util.h +++ b/src/basic/util.h @@ -67,5 +67,3 @@ static inline unsigned log2u_round_up(unsigned x) { } int version(void); - -void disable_coredumps(void); diff --git a/src/coredump/coredump.c b/src/coredump/coredump.c index 98e7492811c..50220c5ec71 100644 --- a/src/coredump/coredump.c +++ b/src/coredump/coredump.c @@ -20,6 +20,7 @@ #include "compress.h" #include "conf-parser.h" #include "copy.h" +#include "coredump-util.h" #include "coredump-vacuum.h" #include "dirent-util.h" #include "elf-util.h" diff --git a/src/shared/coredump-util.c b/src/shared/coredump-util.c index a0b648bf791..3d2f1790492 100644 --- a/src/shared/coredump-util.c +++ b/src/shared/coredump-util.c @@ -4,6 +4,7 @@ #include "extract-word.h" #include "fileio.h" #include "string-table.h" +#include "virt.h" static const char *const coredump_filter_table[_COREDUMP_FILTER_MAX] = { [COREDUMP_FILTER_PRIVATE_ANONYMOUS] = "private-anonymous", @@ -72,3 +73,15 @@ int set_coredump_filter(uint64_t value) { return write_string_file("/proc/self/coredump_filter", t, WRITE_STRING_FILE_VERIFY_ON_FAILURE|WRITE_STRING_FILE_DISABLE_BUFFER); } + +/* Turn off core dumps but only if we're running outside of a container. */ +void disable_coredumps(void) { + int r; + + if (detect_container() > 0) + return; + + r = write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", WRITE_STRING_FILE_DISABLE_BUFFER); + if (r < 0) + log_debug_errno(r, "Failed to turn off coredumps, ignoring: %m"); +} diff --git a/src/shared/coredump-util.h b/src/shared/coredump-util.h index 09e7ed443f5..8eda86dfdb7 100644 --- a/src/shared/coredump-util.h +++ b/src/shared/coredump-util.h @@ -27,3 +27,4 @@ CoredumpFilter coredump_filter_from_string(const char *s) _pure_; int coredump_filter_mask_from_string(const char *s, uint64_t *ret); int set_coredump_filter(uint64_t value); +void disable_coredumps(void); diff --git a/src/shutdown/shutdown.c b/src/shutdown/shutdown.c index 045ff9f4184..906ebabbfcb 100644 --- a/src/shutdown/shutdown.c +++ b/src/shutdown/shutdown.c @@ -19,6 +19,7 @@ #include "binfmt-util.h" #include "cgroup-setup.h" #include "cgroup-util.h" +#include "coredump-util.h" #include "def.h" #include "errno-util.h" #include "exec-util.h"