nfsd: use time64_t in nfsd_proc_setattr() check
authorArnd Bergmann <arnd@arndb.de>
Sun, 3 Nov 2019 17:06:52 +0000 (18:06 +0100)
committerJ. Bruce Fields <bfields@redhat.com>
Thu, 19 Dec 2019 22:46:08 +0000 (17:46 -0500)
Change to time64_t and ktime_get_real_seconds() to make the
logic work correctly on 32-bit architectures beyond 2038.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfsproc.c

index aa013b7..b25c90b 100644 (file)
@@ -94,7 +94,7 @@ nfsd_proc_setattr(struct svc_rqst *rqstp)
                 * Solaris, at least, doesn't seem to care what the time
                 * request is.  We require it be within 30 minutes of now.
                 */
-               time_t delta = iap->ia_atime.tv_sec - get_seconds();
+               time64_t delta = iap->ia_atime.tv_sec - ktime_get_real_seconds();
 
                nfserr = fh_verify(rqstp, fhp, 0, NFSD_MAY_NOP);
                if (nfserr)