mirror of https://gitee.com/openkylin/linux.git
Merge branch 'for-2.6.39' of git://linux-nfs.org/~bfields/linux
* 'for-2.6.39' of git://linux-nfs.org/~bfields/linux: nfsd4: fix oops on lock failure nfsd: fix auth_domain reference leak on nlm operations
This commit is contained in:
commit
18770c7c3a
|
@ -38,7 +38,6 @@ nlm_fopen(struct svc_rqst *rqstp, struct nfs_fh *f, struct file **filp)
|
|||
exp_readlock();
|
||||
nfserr = nfsd_open(rqstp, &fh, S_IFREG, NFSD_MAY_LOCK, filp);
|
||||
fh_put(&fh);
|
||||
rqstp->rq_client = NULL;
|
||||
exp_readunlock();
|
||||
/* We return nlm error codes as nlm doesn't know
|
||||
* about nfsd, but nfsd does know about nlm..
|
||||
|
|
|
@ -397,10 +397,13 @@ static void unhash_generic_stateid(struct nfs4_stateid *stp)
|
|||
|
||||
static void free_generic_stateid(struct nfs4_stateid *stp)
|
||||
{
|
||||
int oflag = nfs4_access_bmap_to_omode(stp);
|
||||
int oflag;
|
||||
|
||||
nfs4_file_put_access(stp->st_file, oflag);
|
||||
put_nfs4_file(stp->st_file);
|
||||
if (stp->st_access_bmap) {
|
||||
oflag = nfs4_access_bmap_to_omode(stp);
|
||||
nfs4_file_put_access(stp->st_file, oflag);
|
||||
put_nfs4_file(stp->st_file);
|
||||
}
|
||||
kmem_cache_free(stateid_slab, stp);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue