В ядре Linux была устранена следующая уязвимость: vfs: Не протешайте отключенные зубные протезы на монтаже Когда пользователь звонит open_b…
В ядре Linux была устранена следующая уязвимость: vfs: Не протешайте отключенные зубные протезы на монтаже Когда пользователь звонит open_by_handle_at() на какой-то inode, который не кэшируется, мы Это создаст для него отключенные зубные протезы. Если такая дробилка является каталогом, exportfs_decode_fh_rw() затем попытается подключить этот зубной просвет к dentry tree через reconnect_path(). Это может произойти по разным причинам (например, поврежденные fs или раса с переименованием), что призыв к lookup_one_unlocked() в reconnect_one() не найдет dentry we они пытаются восстановить связь и вместо этого создать новый зубной протез под Родитель. Теперь этот зубной протез не будет помечен как отключенный, хотя Родитель все еще может быть отключен (по крайней мере, в случае, если это несоответствие произошло, потому что fs испорчен и .. не указывает в реальную родительский каталог). Это создает несоответствие в Отключили флаги, но AFAICS это было в основном безвредно. По крайней мере, до tic fe1ee616214cb («VFS: не держите отключенные зубные протезы на d_anon») который удалил добавление большинства отключенных зубных протезов в sb->s_anon list. Таким образом, после этого совершите очистку отключенных зубных протезов неявно опирается на тот факт, что dput() немедленно вернет себе такие зубные протезы. Однако, когда некоторые листовые зубы не помечены как отключенные, как в сценарий, описанный выше, возвращение не происходит и джентльмены Они «утешаются». Удаление памяти может в конечном итоге вернуть их, но в противном случае они остаются в памяти, и если умонта приходит первым, мы попадаем в печально известный «Busy». иноды после unmount" bug. Убедитесь, что все зубные протезы, созданные под Несоединенный родитель также помечен как отключенный.
| Продукт | Вендор | Статус |
|---|---|---|
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux | Отслеживается | |
| linux-5.10 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-6.1 | Отслеживается | |
| linux-allwinner-5.19 | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается | |
| linux-aws | Отслеживается |