From: Arnd Bergmann Date: Mon, 11 Nov 2019 20:16:27 +0000 (+0100) Subject: nfs: encode nfsv4 timestamps as 64-bit X-Git-Tag: v5.6-rc1~29^2~61 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a3167dacbad3a42dffb78cca8684fafcd94575f9;p=thirdparty%2Fkernel%2Flinux.git nfs: encode nfsv4 timestamps as 64-bit On 32-bit architectures, xdr_encode_nfstime4() needlessly truncates timestamps to a 32-bit value in the range between year 1902 and 2038. Change it to use 'struct timespec64' to allow the entire range of values supported by the server. Signed-off-by: Arnd Bergmann Signed-off-by: Anna Schumaker --- diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c index 728d88b6a698a..8de4d250924b2 100644 --- a/fs/nfs/nfs4xdr.c +++ b/fs/nfs/nfs4xdr.c @@ -1061,7 +1061,7 @@ static void encode_nfs4_verifier(struct xdr_stream *xdr, const nfs4_verifier *ve static __be32 * xdr_encode_nfstime4(__be32 *p, const struct timespec64 *t) { - p = xdr_encode_hyper(p, (__s64)t->tv_sec); + p = xdr_encode_hyper(p, t->tv_sec); *p++ = cpu_to_be32(t->tv_nsec); return p; }