summaryrefslogtreecommitdiffstats
path: root/fs/pstore/platform.c
diff options
context:
space:
mode:
authorKees Cook <keescook@chromium.org>2017-05-20 00:29:10 +0200
committerKees Cook <keescook@chromium.org>2017-05-31 19:13:44 +0200
commitc7f3c595f6ff7a1cfbf7ac782722bf5173e27775 (patch)
tree7adaa468343cb5d9a45ce738d1fee91ca22dc489 /fs/pstore/platform.c
parentpstore: Create common record initializer (diff)
downloadlinux-c7f3c595f6ff7a1cfbf7ac782722bf5173e27775.tar.xz
linux-c7f3c595f6ff7a1cfbf7ac782722bf5173e27775.zip
pstore: Populate pstore record->time field
The current time will be initially available in the record->time field for all pstore_read() and pstore_write() calls. Backends can either update the field during read(), or use the field during write() instead of fetching time themselves. Signed-off-by: Kees Cook <keescook@chromium.org>
Diffstat (limited to 'fs/pstore/platform.c')
-rw-r--r--fs/pstore/platform.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index 7798041f3fba..96fbff7b87c8 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -480,6 +480,12 @@ void pstore_record_init(struct pstore_record *record,
memset(record, 0, sizeof(*record));
record->psi = psinfo;
+
+ /* Report zeroed timestamp if called before timekeeping has resumed. */
+ if (__getnstimeofday(&record->time)) {
+ record->time.tv_sec = 0;
+ record->time.tv_nsec = 0;
+ }
}
/*