NFS: nfs_access_get_cached_rcu() should use cred_fscmp()
authorTrond Myklebust <trondmy@gmail.com>
Sun, 26 Jan 2020 22:31:14 +0000 (17:31 -0500)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Mon, 3 Feb 2020 21:35:07 +0000 (16:35 -0500)
We do not need to have the rcu lookup method fail in the case where
the fsuid/fsgid and supplemental groups match.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/dir.c

index bfc66f3f00e179e16569ccde5dc37ecb7d535136..6427a8a8d61a9bc571fdb2263a0de976d0531fee 100644 (file)
@@ -2360,7 +2360,7 @@ static int nfs_access_get_cached_rcu(struct inode *inode, const struct cred *cre
        lh = rcu_dereference(nfsi->access_cache_entry_lru.prev);
        cache = list_entry(lh, struct nfs_access_entry, lru);
        if (lh == &nfsi->access_cache_entry_lru ||
-           cred != cache->cred)
+           cred_fscmp(cred, cache->cred) != 0)
                cache = NULL;
        if (cache == NULL)
                goto out;