The warning reuses the uptime max of 30 years used by the
setitimeofday().

Note that the warning is only added for new filesystem mounts
through the mount syscall. Automounts do not have the same warning.

Signed-off-by: Deepa Dinamani <deepa.ker...@gmail.com>
---
 fs/namespace.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/fs/namespace.c b/fs/namespace.c
index b26778bdc236..5314fac8035e 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -2739,6 +2739,17 @@ static int do_new_mount_fc(struct fs_context *fc, struct 
path *mountpoint,
        error = do_add_mount(real_mount(mnt), mountpoint, mnt_flags);
        if (error < 0)
                mntput(mnt);
+
+       if (!error && sb->s_time_max &&
+           (ktime_get_real_seconds() + TIME_UPTIME_SEC_MAX > sb->s_time_max)) {
+               char *buf = (char *)__get_free_page(GFP_KERNEL);
+               char *mntpath = buf ? d_path(mountpoint, buf, PAGE_SIZE) : 
ERR_PTR(-ENOMEM);
+
+               pr_warn("Mounted %s file system at %s supports timestamps until 
0x%llx\n",
+                       fc->fs_type->name, mntpath, (unsigned long 
long)sb->s_time_max);
+               free_page((unsigned long)buf);
+       }
+
        return error;
 }
 
-- 
2.17.1

_______________________________________________
Y2038 mailing list
Y2038@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/y2038

Reply via email to