mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
nfsd-6.2 fixes:
- Fix a filecache UAF during NFSD shutdown - Avoid exposing automounted mounts on NFS re-exports -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEKLLlsBKG3yQ88j7+M2qzM29mf5cFAmOy/MoACgkQM2qzM29m f5droRAAmHn9nKnTMsHiHFlhTLbM2jp/Nv+gRYtwRqcd4Io7NLz5vGWA57EkbHTQ BOeIRcLhT59XCPwxaOumxhPB6X1Swg9qB5iLcAefGfzBnPXYvGb8gBsQaNt3Ky5v 8KEWFCEnmYh0QjL5/6G7FIOE4LNbgxN+oC0th6Oz/kgRVDogO2n9eSTqiOooEIDd mY2wDbVEkb8X1lkCqJS/lh0JgZS8upmmxbNtRPrTxDjaeQ0S28fhxkwNdf5T3nih 5kb9/ja/64lvrriJD3SHxBq/szuZUesoW6sZ9QsHNTqjkD1EkAhvtF2hp05praEh AyHMp7zUpiBvQ+ntYqsMQWgGBpNPWvy8uxEn3HQW1auQoJwTvGczErEuXohJnIiF FGlHRPagH85CesjhlT9D77n3kMor1OdNrYh64AREufU8D9bbKrLrbzHVkqNgUt14 Q5+UmB5nBGtSQY4qS9n/NdUXpY08sX1yQsn8jhc6P/sbd6+cobvSmAn8X7Vzw/zD pnX3o3p6S0oaIV0awwfml1AjmvrlnRQ4j0vMkGRJVJlsVmT2V1SxULOZiosmQnjF hAXHMfjV9C/l4vnwH7A2CWfsYu8EGpJ2YW6bz27acGltmH4qJ0jexmWJdHpSqw+Q qMBqH0Q2w68QLNEau9qvuXU8/8VO5hC5u/RGggwDLvkqIAAHWOs= =Dd1M -----END PGP SIGNATURE----- Merge tag 'nfsd-6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux Pull nfsd fixes from Chuck Lever: - Fix a filecache UAF during NFSD shutdown - Avoid exposing automounted mounts on NFS re-exports * tag 'nfsd-6.2-2' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: nfsd: fix handling of readdir in v4root vs. mount upcall timeout nfsd: shut down the NFSv4 state objects before the filecache
This commit is contained in:
commit
b61778fa51
@ -3629,6 +3629,17 @@ nfsd4_encode_dirent(void *ccdv, const char *name, int namlen,
|
||||
case nfserr_noent:
|
||||
xdr_truncate_encode(xdr, start_offset);
|
||||
goto skip_entry;
|
||||
case nfserr_jukebox:
|
||||
/*
|
||||
* The pseudoroot should only display dentries that lead to
|
||||
* exports. If we get EJUKEBOX here, then we can't tell whether
|
||||
* this entry should be included. Just fail the whole READDIR
|
||||
* with NFS4ERR_DELAY in that case, and hope that the situation
|
||||
* will resolve itself by the client's next attempt.
|
||||
*/
|
||||
if (cd->rd_fhp->fh_export->ex_flags & NFSEXP_V4ROOT)
|
||||
goto fail;
|
||||
fallthrough;
|
||||
default:
|
||||
/*
|
||||
* If the client requested the RDATTR_ERROR attribute,
|
||||
|
@ -453,8 +453,8 @@ static void nfsd_shutdown_net(struct net *net)
|
||||
{
|
||||
struct nfsd_net *nn = net_generic(net, nfsd_net_id);
|
||||
|
||||
nfsd_file_cache_shutdown_net(net);
|
||||
nfs4_state_shutdown_net(net);
|
||||
nfsd_file_cache_shutdown_net(net);
|
||||
if (nn->lockd_up) {
|
||||
lockd_down(net);
|
||||
nn->lockd_up = false;
|
||||
|
Loading…
Reference in New Issue
Block a user