NFSD: Fix error return code in nfsd4_interssc_connect()
[ Upstream commit 54185267e1fe476875e649bb18e1c4254c123305 ] 'status' has been overwritten to 0 after nfsd4_ssc_setup_dul(), this cause 0 will be return in vfs_kern_mount() error case. Fix to return nfserr_nodev in this error. Fixes: f4e44b393389 ("NFSD: delay unmount source's export after inter-server copy completed.") Reported-by: Hulk Robot <hulkci@huawei.com> Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com> Signed-off-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
c5a305d93e
commit
2983611a66
@@ -1326,6 +1326,7 @@ nfsd4_interssc_connect(struct nl4_server *nss, struct svc_rqst *rqstp,
|
|||||||
ss_mnt = vfs_kern_mount(type, SB_KERNMOUNT, dev_name, raw_data);
|
ss_mnt = vfs_kern_mount(type, SB_KERNMOUNT, dev_name, raw_data);
|
||||||
module_put(type->owner);
|
module_put(type->owner);
|
||||||
if (IS_ERR(ss_mnt)) {
|
if (IS_ERR(ss_mnt)) {
|
||||||
|
status = nfserr_nodev;
|
||||||
if (work)
|
if (work)
|
||||||
nfsd4_ssc_cancel_dul_work(nn, work);
|
nfsd4_ssc_cancel_dul_work(nn, work);
|
||||||
goto out_free_devname;
|
goto out_free_devname;
|
||||||
|
Reference in New Issue
Block a user