diff options
| author | 2020-04-02 15:47:08 -0400 | |
|---|---|---|
| committer | 2020-04-03 18:29:10 -0400 | |
| commit | 97a728f5e2ad62a069dd395d3e516bb0acdbb3ec (patch) | |
| tree | c240c8b8ca7f699643b626d3c7922b53b1ba3897 | |
| parent | NFS: Beware when dereferencing the delegation cred (diff) | |
| download | linux-dev-97a728f5e2ad62a069dd395d3e516bb0acdbb3ec.tar.xz linux-dev-97a728f5e2ad62a069dd395d3e516bb0acdbb3ec.zip | |
NFS/pnfs: Fix dereference of layout cred in pnfs_layoutcommit_inode()
Ensure that the dereference of the layout cred is atomic with the
stateid.
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
| -rw-r--r-- | fs/nfs/pnfs.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/pnfs.c b/fs/nfs/pnfs.c index 6fcf26b16816..84029c9b2b1b 100644 --- a/fs/nfs/pnfs.c +++ b/fs/nfs/pnfs.c @@ -3137,10 +3137,10 @@ pnfs_layoutcommit_inode(struct inode *inode, bool sync) end_pos = nfsi->layout->plh_lwb; nfs4_stateid_copy(&data->args.stateid, &nfsi->layout->plh_stateid); + data->cred = get_cred(nfsi->layout->plh_lc_cred); spin_unlock(&inode->i_lock); data->args.inode = inode; - data->cred = get_cred(nfsi->layout->plh_lc_cred); nfs_fattr_init(&data->fattr); data->args.bitmask = NFS_SERVER(inode)->cache_consistency_bitmask; data->res.fattr = &data->fattr; |
