[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20190818165817.32634-20-deepa.kernel@gmail.com>
Date: Sun, 18 Aug 2019 09:58:16 -0700
From: Deepa Dinamani <deepa.kernel@...il.com>
To: viro@...iv.linux.org.uk, linux-kernel@...r.kernel.org
Cc: linux-fsdevel@...r.kernel.org, y2038@...ts.linaro.org,
arnd@...db.de, anton@...msg.org, ccross@...roid.com,
keescook@...omium.org, tony.luck@...el.com
Subject: [PATCH v8 19/20] pstore: fs superblock limits
Leaving granularity at 1ns because it is dependent on the specific
attached backing pstore module. ramoops has microsecond resolution.
Fix the readback of ramoops fractional timestamp microseconds,
which has incorrectly been reporting the value as nanoseconds since
3f8f80f0 ("pstore/ram: Read and write to the 'compressed' flag of pstore").
Signed-off-by: Deepa Dinamani <deepa.kernel@...il.com>
Acked-by: Kees Cook <keescook@...omium.org>
Cc: anton@...msg.org
Cc: ccross@...roid.com
Cc: keescook@...omium.org
Cc: tony.luck@...el.com
---
fs/pstore/ram.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 2bb3468fc93a..8caff834f002 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -144,6 +144,7 @@ static int ramoops_read_kmsg_hdr(char *buffer, struct timespec64 *time,
if (sscanf(buffer, RAMOOPS_KERNMSG_HDR "%lld.%lu-%c\n%n",
(time64_t *)&time->tv_sec, &time->tv_nsec, &data_type,
&header_length) == 3) {
+ time->tv_nsec *= 1000;
if (data_type == 'C')
*compressed = true;
else
@@ -151,6 +152,7 @@ static int ramoops_read_kmsg_hdr(char *buffer, struct timespec64 *time,
} else if (sscanf(buffer, RAMOOPS_KERNMSG_HDR "%lld.%lu\n%n",
(time64_t *)&time->tv_sec, &time->tv_nsec,
&header_length) == 2) {
+ time->tv_nsec *= 1000;
*compressed = false;
} else {
time->tv_sec = 0;
--
2.17.1
Powered by blists - more mailing lists