NFSv4: pnfs_roc() must use cred_fscmp() to compare creds
When comparing two 'struct cred' for equality w.r.t. behaviour under
filesystem access, we need to use cred_fscmp().
Fixes: a52458b48a
("NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'.")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
parent
c0399cf668
commit
3871224787
@ -1425,7 +1425,7 @@ bool pnfs_roc(struct inode *ino,
|
|||||||
/* lo ref dropped in pnfs_roc_release() */
|
/* lo ref dropped in pnfs_roc_release() */
|
||||||
layoutreturn = pnfs_prepare_layoutreturn(lo, &stateid, &iomode);
|
layoutreturn = pnfs_prepare_layoutreturn(lo, &stateid, &iomode);
|
||||||
/* If the creds don't match, we can't compound the layoutreturn */
|
/* If the creds don't match, we can't compound the layoutreturn */
|
||||||
if (!layoutreturn || cred != lo->plh_lc_cred)
|
if (!layoutreturn || cred_fscmp(cred, lo->plh_lc_cred) != 0)
|
||||||
goto out_noroc;
|
goto out_noroc;
|
||||||
|
|
||||||
roc = layoutreturn;
|
roc = layoutreturn;
|
||||||
|
Loading…
Reference in New Issue
Block a user