Description
In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: cancle set bad inode after removing name fails The reproducer uses a file0 on a ntfs3 file system with a corrupted i_link. When renaming, the file0's inode is marked as a bad inode because the file name cannot be deleted. The underlying bug is that make_bad_inode() is called on a live inode. In some cases it's "icache lookup finds a normal inode, d_splice_alias() is called to attach it to dentry, while another thread decides to call make_bad_inode() on it - that would evict it from icache, but we'd already found it there earlier". In some it's outright "we have an inode attached to dentry - that's how we got it in the first place; let's call make_bad_inode() on it just for shits and giggles".
Product status
78ab59fee07f22464f32eafebab2bd97ba94ff2d before b35a50d639ca5259466ef5fea85529bb4fb17d5b
78ab59fee07f22464f32eafebab2bd97ba94ff2d before 3ed2cc6a6e93fbeb8c0cafce1e7fb1f64a331dcc
78ab59fee07f22464f32eafebab2bd97ba94ff2d before 358d4f821c03add421a4c49290538a705852ccf1
78ab59fee07f22464f32eafebab2bd97ba94ff2d before a285395020780adac1ffbc844069c3d700bf007a
78ab59fee07f22464f32eafebab2bd97ba94ff2d before d99208b91933fd2a58ed9ed321af07dacd06ddc3
5.15
Any version before 5.15
6.6.102
6.12.42
6.15.10
6.16.1
6.17
References
git.kernel.org/...c/b35a50d639ca5259466ef5fea85529bb4fb17d5b
git.kernel.org/...c/3ed2cc6a6e93fbeb8c0cafce1e7fb1f64a331dcc
git.kernel.org/...c/358d4f821c03add421a4c49290538a705852ccf1
git.kernel.org/...c/a285395020780adac1ffbc844069c3d700bf007a
git.kernel.org/...c/d99208b91933fd2a58ed9ed321af07dacd06ddc3