[PATCH] proc: uptime: print 64-bit seconds values

Jaime Saguillo Revilla posted 1 patch 1 month, 2 weeks ago
fs/proc/uptime.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH] proc: uptime: print 64-bit seconds values
Posted by Jaime Saguillo Revilla 1 month, 2 weeks ago
uptime.tv_sec and idle.tv_sec are time64_t and may exceed unsigned
long on 32-bit kernels. Print them using a 64-bit format to avoid
truncation in /proc/uptime.

Signed-off-by: Jaime Saguillo Revilla <jaime.saguillo@gmail.com>
---
 fs/proc/uptime.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fs/proc/uptime.c b/fs/proc/uptime.c
index b5343d209381..2b83435ad01e 100644
--- a/fs/proc/uptime.c
+++ b/fs/proc/uptime.c
@@ -30,10 +30,10 @@ static int uptime_proc_show(struct seq_file *m, void *v)
 
 	idle.tv_sec = div_u64_rem(idle_nsec, NSEC_PER_SEC, &rem);
 	idle.tv_nsec = rem;
-	seq_printf(m, "%lu.%02lu %lu.%02lu\n",
-			(unsigned long) uptime.tv_sec,
+	seq_printf(m, "%lld.%02lu %lld.%02lu\n",
+			(long long) uptime.tv_sec,
 			(uptime.tv_nsec / (NSEC_PER_SEC / 100)),
-			(unsigned long) idle.tv_sec,
+			(long long) idle.tv_sec,
 			(idle.tv_nsec / (NSEC_PER_SEC / 100)));
 	return 0;
 }
-- 
2.43.0