CVE-2024-53176
Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
27/12/2024
Last modified:
08/10/2025
Description
In the Linux kernel, the following vulnerability has been resolved:<br />
<br />
smb: During unmount, ensure all cached dir instances drop their dentry<br />
<br />
The unmount process (cifs_kill_sb() calling close_all_cached_dirs()) can<br />
race with various cached directory operations, which ultimately results<br />
in dentries not being dropped and these kernel BUGs:<br />
<br />
BUG: Dentry ffff88814f37e358{i=1000000000080,n=/} still in use (2) [unmount of cifs cifs]<br />
VFS: Busy inodes after unmount of cifs (cifs)<br />
------------[ cut here ]------------<br />
kernel BUG at fs/super.c:661!<br />
<br />
This happens when a cfid is in the process of being cleaned up when, and<br />
has been removed from the cfids->entries list, including:<br />
<br />
- Receiving a lease break from the server<br />
- Server reconnection triggers invalidate_all_cached_dirs(), which<br />
removes all the cfids from the list<br />
- The laundromat thread decides to expire an old cfid.<br />
<br />
To solve these problems, dropping the dentry is done in queued work done<br />
in a newly-added cfid_put_wq workqueue, and close_all_cached_dirs()<br />
flushes that workqueue after it drops all the dentries of which it&#39;s<br />
aware. This is a global workqueue (rather than scoped to a mount), but<br />
the queued work is minimal.<br />
<br />
The final cleanup work for cleaning up a cfid is performed via work<br />
queued in the serverclose_wq workqueue; this is done separate from<br />
dropping the dentries so that close_all_cached_dirs() doesn&#39;t block on<br />
any server operations.<br />
<br />
Both of these queued works expect to invoked with a cfid reference and<br />
a tcon reference to avoid those objects from being freed while the work<br />
is ongoing.<br />
<br />
While we&#39;re here, add proper locking to close_all_cached_dirs(), and<br />
locking around the freeing of cfid->dentry.
Impact
Base Score 3.x
4.70
Severity 3.x
MEDIUM
Vulnerable products and versions
| CPE | From | Up to |
|---|---|---|
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.1 (including) | 6.6.64 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.7 (including) | 6.11.11 (excluding) |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.12 (including) | 6.12.2 (excluding) |
To consult the complete list of CPE names with products and versions, see this page



