diff options
| author | Amir Goldstein <amir73il@gmail.com> | 2026-10-16 13:21:34 +0200 |
|---|---|---|
| committer | Amir Goldstein <amir73il@gmail.com> | 2026-10-29 13:21:16 +0100 |
| commit | 15c6bd5cf109471baca7fbe46e8f574569257a28 (patch) | |
| tree | f5cace943726a8fea6241eeb8e65ddfbe3490cbf /scripts/basic/split-include.c | |
| parent | 65bf000962a33ec9d2488e4e1797b6cf630abcbb (diff) | |
| download | linux-15c6bd5cf109471baca7fbe46e8f574569257a28.tar.gz linux-15c6bd5cf109471baca7fbe46e8f574569257a28.zip | |
vfs: add try_take_dentry_name_snapshot()
take_dentry_name_snapshot() requires the caller to keep the dentry
alive. The external name of a dead dentry has a zero refcount that
never changes, so atomic_inc_not_zero() fails on every retry and the
function never returns.
A caller in RCU walk holds no reference on the dentry. Add a variant
that fails instead of retrying when it cannot get a reference on the
external name, so such a caller can return -ECHILD.
Reviewed-by: Christian Brauner (Amutable) <brauner@kernel.org>
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Diffstat (limited to 'scripts/basic/split-include.c')
0 files changed, 0 insertions, 0 deletions
