uml: print coredump limits
authorJeff Dike <jdike@addtoit.com>
Sun, 6 May 2007 21:51:00 +0000 (14:51 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 7 May 2007 19:13:00 +0000 (12:13 -0700)
Print out core dump limits at boot time.  This is to allow core dumps
to be collected if something goes very wrong and to tell if a core
dump isn't going to happen because of a resource limit.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/um/os-Linux/start_up.c

index 5178eba9afa54fa779ab3af327e82259768d7fbf..1244179e6c83d583660f9a935fc563a3b281909c 100644 (file)
@@ -17,6 +17,7 @@
 #include <sys/time.h>
 #include <sys/wait.h>
 #include <sys/mman.h>
+#include <sys/resource.h>
 #include <asm/unistd.h>
 #include <asm/page.h>
 #include <sys/types.h>
@@ -329,8 +330,32 @@ static void __init check_ptrace(void)
 
 extern void check_tmpexec(void);
 
+static void check_coredump_limit(void)
+{
+       struct rlimit lim;
+       int err = getrlimit(RLIMIT_CORE, &lim);
+
+       if(err){
+               perror("Getting core dump limit");
+               return;
+       }
+
+       printf("Core dump limits :\n\tsoft - ");
+       if(lim.rlim_cur == RLIM_INFINITY)
+               printf("NONE\n");
+       else printf("%lu\n", lim.rlim_cur);
+
+       printf("\thard - ");
+       if(lim.rlim_max == RLIM_INFINITY)
+               printf("NONE\n");
+       else printf("%lu\n", lim.rlim_max);
+}
+
 void os_early_checks(void)
 {
+       /* Print out the core dump limits early */
+       check_coredump_limit();
+
        check_ptrace();
 
        /* Need to check this early because mmapping happens before the