CVEvulnerability
CVE-2026-68312
- Status
- Received
- Published
- 2026-08-10
- Last modified
- 2026-10-21
- Assigner
- 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Description
In the Linux kernel, the following vulnerability has been resolved:
cifs: fix cifsFileInfo leak on kmalloc failure in deferred close drain paths
In cifs_close_deferred_file(), cifs_close_all_deferred_files(), and
cifs_close_deferred_file_under_dentry(), when a pending deferred close
is cancelled via cancel_delayed_work(), the subsequent kmalloc_obj() to
add the file to the local processing list may fail under memory pressure.
The loop breaks immediately, but the cancelled work is no longer pending
(it would have called _cifsFileInfo_put()), and the cfile is never added
to file_head for processing. The cifsFileInfo reference and the open
server handle both leak.
Fix by saving the cfile that failed allocation in a local variable,
breaking as before, and calling _cifsFileInfo_put() on it after
releasing the lock. Any files later in the iteration are unaffected
since their deferred work is still pending and will fire normally.
References
- https://git.kernel.org/stable/c/32390b3f06f26e366cfb27dbac4bc0196c321535 git.kernel.org
- https://git.kernel.org/stable/c/6089f561e2c31a3ba52836c75c7d2ab50d2eea41 git.kernel.org
- https://git.kernel.org/stable/c/7af7ec3af091f55d01f0ebe0246d10e37f358311 git.kernel.org
- https://git.kernel.org/stable/c/c2f2e83e3bbc5483730fd4ee903182761f1ae50f git.kernel.org
- https://git.kernel.org/stable/c/c968b2417f6a15d35ff4b97d534af4a126cb510b git.kernel.org