basic,shared: move disable_coredumps() to coredump-util.[ch]

This commit is contained in:
Zbigniew Jędrzejewski-Szmek 2022-11-05 17:47:06 +01:00
parent 3ec2ad35ba
commit c8715007e0
6 changed files with 16 additions and 14 deletions

View file

@ -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");
}

View file

@ -67,5 +67,3 @@ static inline unsigned log2u_round_up(unsigned x) {
}
int version(void);
void disable_coredumps(void);

View file

@ -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"

View file

@ -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");
}

View file

@ -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);

View file

@ -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"