#include "umask-util.h"
#include "user-util.h"
#include "util.h"
+#include "virt.h"
int saved_argc = 0;
char **saved_argv = NULL;
return strcmp(os1, os2);
}
+
+/* Turn off core dumps but only if we're running outside of a container. */
+void disable_core_dumps(void) {
+ if (detect_container() <= 0)
+ (void) write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
+}
int version(void);
int str_verscmp(const char *s1, const char *s2);
+
+void disable_core_dumps(void);
#include "terminal-util.h"
#include "umask-util.h"
#include "user-util.h"
+#include "util.h"
#include "virt.h"
#include "watchdog.h"
/* But at the same time, turn off the core_pattern logic by default, so that no coredumps are stored
* until the systemd-coredump tool is enabled via sysctl. */
if (!skip_setup)
- (void) write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
+ disable_core_dumps();
}
static void do_reexecute(
/* If this is PID 1 disable coredump collection, we'll unlikely be able to process it later on. */
if (is_pid1_crash((const char**) context)) {
log_notice("Due to PID 1 having crashed coredump collection will now be turned off.");
- (void) write_string_file("/proc/sys/kernel/core_pattern", "|/bin/false", 0);
+ disable_core_dumps();
}
set_iovec_field(iovec, n_iovec, "COREDUMP_UNIT=", context[CONTEXT_UNIT]);