In the Linux kernel, the following vulnerability has been resolved:
thermal/debugfs: Prevent use-after-free from occurring after cdev removal
Since thermaldebugcdevremove() does not run under cdev->lock, it can run in parallel with thermaldebugcdevstateupdate() and it may free the struct thermaldebugfs object used by the latter after it has been checked against NULL.
If that happens, thermaldebugcdevstateupdate() will access memory that has been freed already causing the kernel to crash.
Address this by using cdev->lock in thermaldebugcdev_remove() around the cdev->debugfs value check (in case the same cdev is removed at the same time in two different threads) and its reset to NULL.
Cc :6.8+ stable@vger.kernel.org # 6.8+