From: Miklos Szeredi Date: Sat, 1 Oct 2016 05:32:32 +0000 (+0200) Subject: fuse: use timespec64 X-Git-Tag: v4.9-rc1~125^2~5 X-Git-Url: http://git.cascardo.eti.br/?a=commitdiff_plain;h=bcb6f6d2b9c299db32b20f4357c36a101e7f0293;p=cascardo%2Flinux.git fuse: use timespec64 And check for valid nsec value before passing into timespec64_to_jiffies(). Signed-off-by: Miklos Szeredi --- diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c index 45f704aaa57f..30d9dc976e61 100644 --- a/fs/fuse/dir.c +++ b/fs/fuse/dir.c @@ -63,11 +63,15 @@ static inline u64 fuse_dentry_time(struct dentry *entry) /* * Calculate the time in jiffies until a dentry/attributes are valid */ -static u64 time_to_jiffies(unsigned long sec, unsigned long nsec) +static u64 time_to_jiffies(u64 sec, u32 nsec) { if (sec || nsec) { - struct timespec ts = {sec, nsec}; - return get_jiffies_64() + timespec_to_jiffies(&ts); + struct timespec64 ts = { + sec, + max_t(u32, nsec, NSEC_PER_SEC - 1) + }; + + return get_jiffies_64() + timespec64_to_jiffies(&ts); } else return 0; }