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

Reply via email to