On Mon, 2019-07-29 at 18:49 -0700, Deepa Dinamani wrote: > 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 > --- > 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 && I don't know why you are testing sb->s_time_max here - it should always be non-zero since alloc_super() sets it to TIME64_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); This doesn't seem like a helpful way to log the time. Maybe use time64_to_tm() to convert to "broken down" time and then print it with "%ptR"... but that wants struct rtc_time. If you apply the attached patch, however, you should then be able to print struct tm with "%ptT". Ben. > + free_page((unsigned long)buf); > + } > + > return error; > } > -- Ben Hutchings, Software Developer Codethink Ltd https://www.codethink.co.uk/ Dale House, 35 Dale Street Manchester, M1 2HF, United Kingdom