diff options
| author | Enzo Matsumiya <ematsumiya@suse.de> | 2025-09-29 18:08:24 -0300 |
|---|---|---|
| committer | Enzo Matsumiya <ematsumiya@suse.de> | 2025-10-03 15:15:49 -0300 |
| commit | 3d62aa8dc997bf9702cddb45e51b5472cd684ae7 (patch) | |
| tree | 29970b6701d1401530b979df5f2469aed72e84d4 /io_uring/fs.h | |
| parent | aed215cdf8646ead07b6dc6e44cfbdd5ba412bb3 (diff) | |
| download | linux-3d62aa8dc997bf9702cddb45e51b5472cd684ae7.tar.gz linux-3d62aa8dc997bf9702cddb45e51b5472cd684ae7.tar.bz2 linux-3d62aa8dc997bf9702cddb45e51b5472cd684ae7.zip | |
smb: client: rework cached dirs synchronization
This patch adds usage of RCU and seqlocks for cached dir (list and
entries).
Traversing the list under RCU allows faster lookups (no locks) and also
guarantees that entries being read are not gone (i.e. prevents UAF).
seqlocks provides atomicity/consistency when reading entries, allowing
callers to re-check cfid in case of write-side invalidation.
Combined with refcounting, this new approach provides safety for
callers and flexibility for future enhancements.
Other:
- now that we can inform lookups of cfid changes, set cfid->dentry
earlier in open_cached_dir() to allow by-dentry lookups to find
this cfid
Signed-off-by: Enzo Matsumiya <ematsumiya@suse.de>
Diffstat (limited to 'io_uring/fs.h')
0 files changed, 0 insertions, 0 deletions
