CVE-2026-64108

cifs: Fix busy dentry used after unmounting

State
Published
Severity
7.8 High
Published
Jul 19, 2026
Updated
Aug 5, 2026
Reserved
Jul 19, 2026

Read the record on cve.org

Description

In the Linux kernel, the following vulnerability has been resolved:

cifs: Fix busy dentry used after unmounting

Since commit 340cea84f691c ("cifs: open files should not hold ref on superblock"), cifs file only holds the dentry ref_cnt, the cifs file close work(cfile->deferred) could be executed after unmounting, which will trigger a warning in generic_shutdown_super: BUG: Dentry 00000000a14a6845{i=c,n=file} still in use (1) [unmount of cifs cifs]

The detailed processs is: process A process B kworker fd = open(PATH) vfs_open file->__f_path = *path // dentry->d_lockref.count = 1 cifs_open cifs_new_fileinfo cfile->dentry = dget(dentry) // dentry->d_lockref.count = 2 close(fd) __fput cifs_close queue_delayed_work(deferredclose_wq, cfile->deferred) dput(dentry) // dentry->d_lockref.count = 1 smb2_deferred_work_close _cifsFileInfo_put list_del(&cifs_file->flist) umount cleanup_mnt deactivate_super cifs_kill_sb cifs_close_all_deferred_files_sb cifs_close_all_deferred_files // cannot find cfile, skip _cifsFileInfo_put kill_anon_super generic_shutdown_super shrink_dcache_for_umount umount_check WARN ! // dentry->d_lockref.count = 1 cifsFileInfo_put_final dput(cifs_file->dentry) // dentry->d_lockref.count = 0

Fix it by flushing 'deferredclose_wq' before calling kill_anon_super.

Fetch a reproducer in https://bugzilla.kernel.org/show_bug.cgi?id=221548.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • 708c276f516d27beaded7f372ac8111cee43926c to before c7364cea52531534676b9f7dbc0a477c11f4c050Affected
  • 0629a1a187e424373364d681b42b101894bdb548 to before bdc349a87f1fb02c18c4071858a06542bfea783dAffected
  • 0e4b8faaaebe3137bec5723ef2b3cb0437fb38fd to before f2deaa2f409a4598eaa10f2a93a676c0632af248Affected
  • f655467a9973f964b267871e5fef533ad5014494 to before 5e7d9d0805e58fa3760894e73115b7a74024fd07Affected
  • 340cea84f691c5206561bb2e0147158fe02070be to before e1ffa6cf662383f95816eed1b623429d82675e75Affected
  • 340cea84f691c5206561bb2e0147158fe02070be to before c68337442f03953237a94577beb468ab2662a851Affected
  • 30afc6ea72cc6cf7c8d579e79b64232801c38d08Affected
  • 6.1.167 to before 6.1.175Affected
  • 6.6.130 to before 6.6.142Affected
  • 6.12.78 to before 6.12.92Affected
  • 6.18.20 to before 6.18.34Affected
  • 6.19.10 to before 6.20Affected
LinuxLinux
  • 7.0Affected
  • before 7.0Not affected
  • 6.1.175 through 6.1.*Not affected
  • 6.6.142 through 6.6.*Not affected
  • 6.12.92 through 6.12.*Not affected
  • 6.18.34 through 6.18.*Not affected
  • 7.0.11 through 7.0.*Not affected
  • 7.1 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.