]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
coredump: raise the coredump save size on 64bit systems to 32G (and lower it to 1G...
authorLennart Poettering <lennart@poettering.net>
Tue, 8 Feb 2022 10:52:17 +0000 (11:52 +0100)
committerLennart Poettering <lennart@poettering.net>
Tue, 8 Feb 2022 10:54:55 +0000 (11:54 +0100)
Apparently 2G is too low for various real-life systems. But raising it
universally above 2^32 sounds wrong to me, since that makes no sense on
32bit systems, that we still support.

Hence, let's raise the limit to 32G on 64bit systems, and *lower* it to
1G on 32bit systems.

32G is 4 orders of magnitude higher then the old settings. Let's hope
that's enough for now. Should this not be enough we can raise it
further.

Fixes: #22076
src/coredump/coredump.c

index 20503cfd3b7a6efd0c3aa1bdbabd95963cf39354..aac75dc552588ea162bdc375c4f184da43fffd82 100644 (file)
 #include "uid-alloc-range.h"
 #include "user-util.h"
 
-/* The maximum size up to which we process coredumps */
-#define PROCESS_SIZE_MAX ((uint64_t) (2LLU*1024LLU*1024LLU*1024LLU))
+/* The maximum size up to which we process coredumps. We use 1G on 32bit systems, and 32G on 64bit systems */
+#if __SIZEOF_POINTER__ == 4
+#define PROCESS_SIZE_MAX ((uint64_t) (1LLU*1024LLU*1024LLU*1024LLU))
+#elif __SIZEOF_POINTER__ == 8
+#define PROCESS_SIZE_MAX ((uint64_t) (32LLU*1024LLU*1024LLU*1024LLU))
+#else
+#error "Unexpected pointer size"
+#endif
 
 /* The maximum size up to which we leave the coredump around on disk */
 #define EXTERNAL_SIZE_MAX PROCESS_SIZE_MAX