summaryrefslogtreecommitdiffstats
path: root/fs/isofs
diff options
context:
space:
mode:
authorDeepa Dinamani <deepa.kernel@gmail.com>2019-06-23 16:17:10 -0700
committerDeepa Dinamani <deepa.kernel@gmail.com>2019-08-30 08:11:25 -0700
commit5ad32b3acded06183f40806f76b030c3143017bb (patch)
tree7f17946e0cd3675828ae73c84feb4adad522f65d /fs/isofs
parent83b8a3fbe3aa82ac3c253b698ae6a9be2dbdd5e0 (diff)
downloadlinux-5ad32b3acded06183f40806f76b030c3143017bb.tar.gz
linux-5ad32b3acded06183f40806f76b030c3143017bb.tar.bz2
linux-5ad32b3acded06183f40806f76b030c3143017bb.zip
isofs: Initialize filesystem timestamp ranges
Fill in the appropriate limits to avoid inconsistencies in the vfs cached inode times when timestamps are outside the permitted range. Reference: http://www.ecma-international.org/publications/standards/Ecma-119.htm Signed-off-by: Deepa Dinamani <deepa.kernel@gmail.com> Acked-by: Jeff Layton <jlayton@kernel.org>
Diffstat (limited to 'fs/isofs')
-rw-r--r--fs/isofs/inode.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
index 9e30d8703735..62c0462dc89f 100644
--- a/fs/isofs/inode.c
+++ b/fs/isofs/inode.c
@@ -30,6 +30,9 @@
#include "isofs.h"
#include "zisofs.h"
+/* max tz offset is 13 hours */
+#define MAX_TZ_OFFSET (52*15*60)
+
#define BEQUIET
static int isofs_hashi(const struct dentry *parent, struct qstr *qstr);
@@ -801,6 +804,10 @@ root_found:
*/
s->s_maxbytes = 0x80000000000LL;
+ /* ECMA-119 timestamp from 1900/1/1 with tz offset */
+ s->s_time_min = mktime64(1900, 1, 1, 0, 0, 0) - MAX_TZ_OFFSET;
+ s->s_time_max = mktime64(U8_MAX+1900, 12, 31, 23, 59, 59) + MAX_TZ_OFFSET;
+
/* Set this for reference. Its not currently used except on write
which we don't have .. */