linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ankit Kumar <ankit@linux.vnet.ibm.com>
To: keescook@chromium.org, anton@enomsg.org, ccross@android.com,
	tony.luck@intel.com
Cc: linux-kernel@vger.kernel.org, mahesh@linux.vnet.ibm.com,
	hbathini@linux.vnet.ibm.com, hegdevasant@linux.vnet.ibm.com,
	ankit@linux.vnet.ibm.com
Subject: [PATCH 1/2]pstore: Move timestamp collection code to common pstore place
Date: Mon, 22 May 2017 15:50:36 +0530	[thread overview]
Message-ID: <1495448437-15398-1-git-send-email-ankit@linux.vnet.ibm.com> (raw)

Current pstore code(ram.c) gets dump timestamp and make it part of header.
Different diffent architecture uses different header format and hence it
won't be good idea to make ramoops_write_kmsg_hdr/ramoops_read_kmsg_hdr
part of generic pstore code.

ramoops_write_kmsg_hdr calls __getnstimeofday to get timestamp and also
takes care of condition if timekeeping has not resumed.

This patch moves code for retrieving timestamp to common place and hence
can be used by other functions as well.

Signed-off-by: Ankit Kumar <ankit@linux.vnet.ibm.com>
---
 fs/pstore/internal.h |  1 +
 fs/pstore/platform.c | 13 +++++++++++++
 fs/pstore/ram.c      |  9 ++++-----
 3 files changed, 18 insertions(+), 5 deletions(-)

diff --git a/fs/pstore/internal.h b/fs/pstore/internal.h
index c416e65..339dcdc 100644
--- a/fs/pstore/internal.h
+++ b/fs/pstore/internal.h
@@ -22,6 +22,7 @@ static inline void pstore_unregister_pmsg(void) {}
 #endif
 
 extern struct pstore_info *psinfo;
+void pstore_get_timestamp(struct timespec *timestamp);
 
 extern void	pstore_set_kmsg_bytes(int);
 extern void	pstore_get_records(int);
diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c
index d468eec..5cb25b0 100644
--- a/fs/pstore/platform.c
+++ b/fs/pstore/platform.c
@@ -474,6 +474,19 @@ static size_t copy_kmsg_to_buffer(int hsize, size_t len)
 	return total_len;
 }
 
+void pstore_get_timestamp(struct timespec *timestamp)
+{
+	if (!timestamp)
+		return;
+
+	/* Report zeroed timestamp if called before timekeeping has resumed. */
+	if (__getnstimeofday(timestamp)) {
+		timestamp->tv_sec = 0;
+		timestamp->tv_nsec = 0;
+	}
+}
+EXPORT_SYMBOL_GPL(pstore_get_timestamp);
+
 /*
  * callback from kmsg_dump. (s2,l2) has the most recently
  * written bytes, older bytes are in (s1,l1). Save as much
diff --git a/fs/pstore/ram.c b/fs/pstore/ram.c
index 5cb022c..e39297d 100644
--- a/fs/pstore/ram.c
+++ b/fs/pstore/ram.c
@@ -37,6 +37,8 @@
 #include <linux/of.h>
 #include <linux/of_address.h>
 
+#include "internal.h"
+
 #define RAMOOPS_KERNMSG_HDR "===="
 #define MIN_MEM_SIZE 4096UL
 
@@ -362,11 +364,8 @@ static size_t ramoops_write_kmsg_hdr(struct persistent_ram_zone *prz,
 	struct timespec timestamp;
 	size_t len;
 
-	/* Report zeroed timestamp if called before timekeeping has resumed. */
-	if (__getnstimeofday(&timestamp)) {
-		timestamp.tv_sec = 0;
-		timestamp.tv_nsec = 0;
-	}
+	pstore_get_timestamp(&timestamp);
+
 	hdr = kasprintf(GFP_ATOMIC, RAMOOPS_KERNMSG_HDR "%lu.%lu-%c\n",
 		(long)timestamp.tv_sec, (long)(timestamp.tv_nsec / 1000),
 		compressed ? 'C' : 'D');
-- 
2.7.4

             reply	other threads:[~2017-05-22 10:21 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-22 10:20 Ankit Kumar [this message]
2017-05-22 10:20 ` [PATCH 2/2] Save current timestamp part of dmesg while writing oops message to pstore Ankit Kumar
2017-05-22 23:51   ` Kees Cook
2017-05-23  8:49     ` Ankit Kumar
2017-08-07  5:19       ` Ankit Kumar
2017-05-22 23:37 ` [PATCH 1/2]pstore: Move timestamp collection code to common pstore place Kees Cook
2017-05-23  8:12   ` Ankit Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1495448437-15398-1-git-send-email-ankit@linux.vnet.ibm.com \
    --to=ankit@linux.vnet.ibm.com \
    --cc=anton@enomsg.org \
    --cc=ccross@android.com \
    --cc=hbathini@linux.vnet.ibm.com \
    --cc=hegdevasant@linux.vnet.ibm.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mahesh@linux.vnet.ibm.com \
    --cc=tony.luck@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).