diff options
author | Dmitry Antipov <dmantipov@yandex.ru> | 2024-02-09 15:52:19 +0300 |
---|---|---|
committer | Christian Brauner <brauner@kernel.org> | 2024-02-12 11:00:10 +0100 |
commit | d0089603fa7a22a940f808a7cbc49402fe02281e (patch) | |
tree | be5ce0f7dd511f1b6f3bd31be9a1c9fc03a8edfb /fs/select.c | |
parent | docs: filesystems: fix typo in docs (diff) | |
download | linux-d0089603fa7a22a940f808a7cbc49402fe02281e.tar.gz linux-d0089603fa7a22a940f808a7cbc49402fe02281e.tar.bz2 linux-d0089603fa7a22a940f808a7cbc49402fe02281e.zip |
fs: prefer kfree_rcu() in fasync_remove_entry()
In 'fasync_remove_entry()', prefer 'kfree_rcu()' over 'call_rcu()' with dummy
'fasync_free_rcu()' callback. This is mostly intended in attempt to fix weird
https://syzkaller.appspot.com/bug?id=6a64ad907e361e49e92d1c4c114128a1bda2ed7f,
where kmemleak may consider 'fa' as unreferenced during RCU grace period. See
https://lore.kernel.org/stable/20230930174657.800551-1-joel@joelfernandes.org
as well. Comments are highly appreciated.
Ever since ae65a5211d90 ("mm/slab: document kfree() as allowed for
kmem_cache_alloc() objects") kfree() can be used for both kmalloc() and
kmem_cache_alloc() so this is no safe.
Do not backport this to stable, please.
Link ae65a5211d90 ("mm/slab: document kfree() as > allowed for kmem_cache_alloc() objects")
Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru>
Link: https://lore.kernel.org/r/20240209125220.330383-1-dmantipov@yandex.ru
Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'fs/select.c')
0 files changed, 0 insertions, 0 deletions