From: Chuck Lever Date: Thu, 30 Dec 2021 15:26:18 +0000 (-0500) Subject: NFSD: Write verifier might go backwards X-Git-Tag: howlett/maple/20220722_2~1403^2~10 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=cdc556600c0133575487cc69fb3128440b3c3e92;p=users%2Fjedix%2Flinux-maple.git NFSD: Write verifier might go backwards When vfs_iter_write() starts to fail because a file system is full, a bunch of writes can fail at once with ENOSPC. These writes repeatedly invoke nfsd_reset_boot_verifier() in quick succession. Ensure that the time it grabs doesn't go backwards due to an ntp adjustment going on at the same time. Signed-off-by: Chuck Lever --- diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c index 14c1ef6f8cc74..6eccf67002504 100644 --- a/fs/nfsd/nfssvc.c +++ b/fs/nfsd/nfssvc.c @@ -363,7 +363,7 @@ void nfsd_copy_boot_verifier(__be32 verf[2], struct nfsd_net *nn) static void nfsd_reset_boot_verifier_locked(struct nfsd_net *nn) { - ktime_get_real_ts64(&nn->nfssvc_boot); + ktime_get_raw_ts64(&nn->nfssvc_boot); } void nfsd_reset_boot_verifier(struct nfsd_net *nn)