High · published May 1, 2024
In the Linux kernel, the following vulnerability has been resolved:
pstore: inode: Only d_invalidate() is needed
Unloading a modular pstore backend with records in pstorefs would
trigger the dput() double-drop warning:
WARNING: CPU: 0 PID: 2569 at fs/dcache.c:762 dput.part.0+0x3f3/0x410
Using the combo of d_drop()/dput() (as mentioned in
Documentation/filesystems/vfs.rst) isn't the right approach here, and
leads to the reference counting problem seen above. Use d_invalidate()
and update the code to not bother checking for error codes that can
never happen.
---
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 5.8, < 6.1.83 | 6.1.83 |
| linux/linux_kernel | ≥ 6.2, < 6.6.23 | 6.6.23 |
| linux/linux_kernel | ≥ 6.7, < 6.7.11 | 6.7.11 |
| linux/linux_kernel | ≥ 6.8, < 6.8.2 | 6.8.2 |