]> git.baikalelectronics.ru Git - kernel.git/commitdiff
nfsd: fix change_info in NFSv4 RENAME replies
authorJeff Layton <jlayton@kernel.org>
Sat, 9 Sep 2023 11:12:30 +0000 (07:12 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 23 Sep 2023 09:11:11 +0000 (11:11 +0200)
commit fdd2630a7398191e84822612e589062063bd4f3d upstream.

nfsd sends the transposed directory change info in the RENAME reply. The
source directory is in save_fh and the target is in current_fh.

Reported-by: Zhi Li <yieli@redhat.com>
Reported-by: Benjamin Coddington <bcodding@redhat.com>
Closes: https://bugzilla.redhat.com/show_bug.cgi?id=2218844
Signed-off-by: Jeff Layton <jlayton@kernel.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/nfsd/nfs4proc.c

index a90e792a94d7700b473c0dcde4acc74a61247bfc..a9105e95b59c5424eddbdf123186f434e439451a 100644 (file)
@@ -1029,8 +1029,8 @@ nfsd4_rename(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
                             rename->rn_tname, rename->rn_tnamelen);
        if (status)
                return status;
-       set_change_info(&rename->rn_sinfo, &cstate->current_fh);
-       set_change_info(&rename->rn_tinfo, &cstate->save_fh);
+       set_change_info(&rename->rn_sinfo, &cstate->save_fh);
+       set_change_info(&rename->rn_tinfo, &cstate->current_fh);
        return nfs_ok;
 }