[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20191130053030.7868-3-deepa.kernel@gmail.com>
Date: Fri, 29 Nov 2019 21:30:25 -0800
From: Deepa Dinamani <deepa.kernel@...il.com>
To: viro@...iv.linux.org.uk, linux-kernel@...r.kernel.org
Cc: linux-fsdevel@...r.kernel.org, arnd@...db.de,
stfrench@...rosoft.com, linux-cifs@...r.kernel.org
Subject: [PATCH 2/7] fs: cifs: Fix atime update check vs mtime
According to the comment in the code and commit log, some apps
expect atime >= mtime; but the introduced code results in
atime==mtime. Fix the comparison to guard against atime<mtime.
Fixes: 9b9c5bea0b96 ("cifs: do not return atime less than mtime")
Signed-off-by: Deepa Dinamani <deepa.kernel@...il.com>
Cc: stfrench@...rosoft.com
Cc: linux-cifs@...r.kernel.org
---
fs/cifs/inode.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c
index 8a76195e8a69..ca76a9287456 100644
--- a/fs/cifs/inode.c
+++ b/fs/cifs/inode.c
@@ -163,7 +163,7 @@ cifs_fattr_to_inode(struct inode *inode, struct cifs_fattr *fattr)
spin_lock(&inode->i_lock);
/* we do not want atime to be less than mtime, it broke some apps */
- if (timespec64_compare(&fattr->cf_atime, &fattr->cf_mtime))
+ if (timespec64_compare(&fattr->cf_atime, &fattr->cf_mtime) < 0)
inode->i_atime = fattr->cf_mtime;
else
inode->i_atime = fattr->cf_atime;
--
2.17.1
Powered by blists - more mailing lists