]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
coredump: Use 64bit time for unix time of coredump
authorTina Ruchandani <ruchandani.tina@gmail.com>
Wed, 28 Jan 2015 05:16:06 +0000 (10:46 +0530)
committerArnd Bergmann <arnd@arndb.de>
Tue, 3 Nov 2015 16:34:46 +0000 (17:34 +0100)
struct timeval on 32-bit systems will have its tv_sec
value overflow in year 2038 and beyond.
Use a 64 bit value to print time of the coredump in seconds.
ktime_get_real_seconds is chosen here for efficiency reasons.

Suggested by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Tina Ruchandani <ruchandani.tina@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
fs/coredump.c

index a8f75640ac86ec2d29cd55a253b2c3c12c7bac9b..53d7d46c55c82c58c321895225faaad8e9a2e6e5 100644 (file)
@@ -32,6 +32,7 @@
 #include <linux/pipe_fs_i.h>
 #include <linux/oom.h>
 #include <linux/compat.h>
+#include <linux/timekeeping.h>
 
 #include <asm/uaccess.h>
 #include <asm/mmu_context.h>
@@ -232,9 +233,10 @@ static int format_corename(struct core_name *cn, struct coredump_params *cprm)
                                break;
                        /* UNIX time of coredump */
                        case 't': {
-                               struct timeval tv;
-                               do_gettimeofday(&tv);
-                               err = cn_printf(cn, "%lu", tv.tv_sec);
+                               time64_t time;
+
+                               time = ktime_get_real_seconds();
+                               err = cn_printf(cn, "%lld", time);
                                break;
                        }
                        /* hostname */