+3
−7
Loading
mainline inclusion from mainline-v6.9-rc1 commit a43e0fc5e9134a46515de2f2f8d4100b74e50de3 category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/I9L9IG CVE: CVE-2024-27389 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a43e0fc5e9134a46515de2f2f8d4100b74e50de3 -------------------------------- 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. Suggested-by:Alexander Viro <viro@zeniv.linux.org.uk> Fixes: 609e28bb ("pstore: Remove filesystem records when backend is unregistered") Signed-off-by:
Kees Cook <keescook@chromium.org> Conflicts: fs/pstore/inode.c [yyl: adjust context] Signed-off-by:
Yang Yingliang <yangyingliang@huawei.com>