NFSD: copy the whole verifier in nfsd_copy_write_verifier
authorChuck Lever <chuck.lever@oracle.com>
Tue, 14 Feb 2023 15:07:59 +0000 (10:07 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 10 Mar 2023 08:33:25 +0000 (09:33 +0100)
[ Upstream commit 90d2175572470ba7f55da8447c72ddd4942923c4 ]

Currently, we're only memcpy'ing the first __be32. Ensure we copy into
both words.

Fixes: 91d2e9b56cf5 ("NFSD: Clean up the nfsd_net::nfssvc_boot field")
Reported-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/nfsd/nfssvc.c

index 8b1afde..6b20f28 100644 (file)
@@ -357,7 +357,7 @@ void nfsd_copy_write_verifier(__be32 verf[2], struct nfsd_net *nn)
 
        do {
                read_seqbegin_or_lock(&nn->writeverf_lock, &seq);
-               memcpy(verf, nn->writeverf, sizeof(*verf));
+               memcpy(verf, nn->writeverf, sizeof(nn->writeverf));
        } while (need_seqretry(&nn->writeverf_lock, seq));
        done_seqretry(&nn->writeverf_lock, seq);
 }