]> git.dujemihanovic.xyz Git - linux.git/commit
exfat: move freeing sbi, upcase table and dropping nls into rcu-delayed helper
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 19 Sep 2023 19:53:32 +0000 (15:53 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Sun, 25 Feb 2024 07:10:31 +0000 (02:10 -0500)
commita13d1a4de3b0fe3c41d818697d691c886c5585fa
tree11151a4b7d601adc3841c7d1ecb6f3d53f1aa932
parent529f89a9e4531e80c44871d7d0c30df6540c20e5
exfat: move freeing sbi, upcase table and dropping nls into rcu-delayed helper

That stuff can be accessed by ->d_hash()/->d_compare(); as it is, we have
a hard-to-hit UAF if rcu pathwalk manages to get into ->d_hash() on a filesystem
that is in process of getting shut down.

Besides, having nls and upcase table cleanup moved from ->put_super() towards
the place where sbi is freed makes for simpler failure exits.

Acked-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/exfat/exfat_fs.h
fs/exfat/nls.c
fs/exfat/super.c