On Sun, Aug 18, 2019 at 09:58:16AM -0700, Deepa Dinamani wrote: > 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"). As such, this should also have: Fixes: 3f8f80f0cfeb ("pstore/ram: Read and write to the 'compressed' flag of pstore") > Signed-off-by: Deepa Dinamani <deepa.kernel@xxxxxxxxx> > Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> Also: this is going via some other tree, yes? (Or should I pick this up for the pstore tree?) Thanks! -Kees > Cc: anton@xxxxxxxxxx > Cc: ccross@xxxxxxxxxxx > Cc: keescook@xxxxxxxxxxxx > Cc: tony.luck@xxxxxxxxx > --- > 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 > -- Kees Cook