[tip: timers/core] fs/proc: Respect boottime inside time namespace for /proc/uptime

From: tip-bot2 for Dmitry Safonov
Date: Tue Jan 14 2020 - 08:04:30 EST


The following commit has been merged into the timers/core branch of tip:

Commit-ID: 0efc8bb0bb5fdfd529a23073ee15478b5d5e3839
Gitweb: https://git.kernel.org/tip/0efc8bb0bb5fdfd529a23073ee15478b5d5e3839
Author: Dmitry Safonov <dima@xxxxxxxxxx>
AuthorDate: Tue, 12 Nov 2019 01:27:07
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitterDate: Tue, 14 Jan 2020 12:20:56 +01:00

fs/proc: Respect boottime inside time namespace for /proc/uptime

Make sure that /proc/uptime is adjusted to the tasks time namespace.

Co-developed-by: Andrei Vagin <avagin@xxxxxxxxxx>
Signed-off-by: Andrei Vagin <avagin@xxxxxxxxxx>
Signed-off-by: Dmitry Safonov <dima@xxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Link: https://lore.kernel.org/r/20191112012724.250792-19-dima@xxxxxxxxxx


---
fs/proc/uptime.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/fs/proc/uptime.c b/fs/proc/uptime.c
index a4c2791..5a1b228 100644
--- a/fs/proc/uptime.c
+++ b/fs/proc/uptime.c
@@ -5,6 +5,7 @@
#include <linux/sched.h>
#include <linux/seq_file.h>
#include <linux/time.h>
+#include <linux/time_namespace.h>
#include <linux/kernel_stat.h>

static int uptime_proc_show(struct seq_file *m, void *v)
@@ -20,6 +21,8 @@ static int uptime_proc_show(struct seq_file *m, void *v)
nsec += (__force u64) kcpustat_cpu(i).cpustat[CPUTIME_IDLE];

ktime_get_boottime_ts64(&uptime);
+ timens_add_boottime(&uptime);
+
idle.tv_sec = div_u64_rem(nsec, NSEC_PER_SEC, &rem);
idle.tv_nsec = rem;
seq_printf(m, "%lu.%02lu %lu.%02lu\n",