fuse: use timespec64

And check for valid nsec value before passing into timespec64_to_jiffies().

Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
This commit is contained in:
Miklos Szeredi
2016-10-01 07:32:32 +02:00
parent f75fdf22b0
commit bcb6f6d2b9

View File

@ -63,11 +63,15 @@ static inline u64 fuse_dentry_time(struct dentry *entry)
/* /*
* Calculate the time in jiffies until a dentry/attributes are valid * 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) { if (sec || nsec) {
struct timespec ts = {sec, nsec}; struct timespec64 ts = {
return get_jiffies_64() + timespec_to_jiffies(&ts); sec,
max_t(u32, nsec, NSEC_PER_SEC - 1)
};
return get_jiffies_64() + timespec64_to_jiffies(&ts);
} else } else
return 0; return 0;
} }