mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2025-01-12 16:11:04 +00:00
nfsd4: filehandle leak or error exit from fh_compose()
A number of callers (nfsd4_encode_fattr(), at least) don't bother to release the filehandle returned to fh_compose() if fh_compose() returns an error. So, modify fh_compose() to release the filehandle before returning an error. Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
This commit is contained in:
parent
2671a4bf35
commit
1be10a88ca
@ -557,8 +557,10 @@ fh_compose(struct svc_fh *fhp, struct svc_export *exp, struct dentry *dentry,
|
|||||||
|
|
||||||
if (inode)
|
if (inode)
|
||||||
_fh_update(fhp, exp, dentry);
|
_fh_update(fhp, exp, dentry);
|
||||||
if (fhp->fh_handle.fh_fileid_type == 255)
|
if (fhp->fh_handle.fh_fileid_type == 255) {
|
||||||
|
fh_put(fhp);
|
||||||
return nfserr_opnotsupp;
|
return nfserr_opnotsupp;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user