diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-05-26 13:49:13 -0700 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-05-26 13:49:13 -0700 |
| commit | eb3f4b7426cfd2b79d65b7d37155480b32259a11 (patch) | |
| tree | adb9ed5b086c5c501915884cb8a26247b2c4f1c5 /net | |
| parent | e909cedf6800ef493063f18a089f3632817a8c2d (diff) | |
| parent | 0b474240327cebeff08ad429e8ed3cfc6c8ee816 (diff) | |
Pull nfsd fixes from Chuck Lever:
"Regressions:
- Tighten bounds checking for sunrpc cache hash tables
- Don't report key material in the ftrace log
Stable fix:
- Fix lockd's implementation of the NLM TEST procedure"
* tag 'nfsd-7.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
lockd: fix TEST handling when not all permissions are available.
NFSD: Report whether fh_key was actually updated
sunrpc: prevent out-of-bounds read in __cache_seq_start()
Diffstat (limited to 'net')
| -rw-r--r-- | net/sunrpc/cache.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c index b5474ce534fb..27dd6b58b8ff 100644 --- a/net/sunrpc/cache.c +++ b/net/sunrpc/cache.c @@ -1348,6 +1348,9 @@ static void *__cache_seq_start(struct seq_file *m, loff_t *pos) hash = n >> 32; entry = n & ((1LL<<32) - 1); + if (hash >= cd->hash_size) + return NULL; + hlist_for_each_entry_rcu(ch, &cd->hash_table[hash], cache_list) if (!entry--) return ch; |
