NFS: pass cred explicitly for access tests
authorNeilBrown <neilb@suse.de>
Mon, 27 Sep 2021 23:47:57 +0000 (09:47 +1000)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 6 Jan 2022 19:00:20 +0000 (14:00 -0500)
commit73fbb3fa647bdb5b60469af8101c741ece03a825
tree3bcd719fb8cab07c7571ab8ac0962ed701a8437c
parentb5e7b59c3480f355910f9d2c6ece5857922a5e54
NFS: pass cred explicitly for access tests

Storing the 'struct cred *' in nfs_access_entry is problematic.
An active 'cred' can keep a 'struct key *' active, and a quota is
imposed on the number of such keys that a user can maintain.
Cached 'nfs_access_entry' structs have indefinite lifetime, and having
these keep 'struct key's alive imposes on that quota.

So a future patch will remove the ->cred ref from nfs_access_entry.

To prepare, change various functions to not assume there is a 'cred' in
the nfs_access_entry, but to pass the cred around explicitly.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/dir.c
fs/nfs/nfs3proc.c
fs/nfs/nfs4proc.c
include/linux/nfs_fs.h
include/linux/nfs_xdr.h