CVE-2026-68312

Summary

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.

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxe3fc065682ebbbd15b0ce0036800f4acbf765d46 < 32390b3f06f26e366cfb27dbac4bc0196c321535affected
LinuxLinuxe3fc065682ebbbd15b0ce0036800f4acbf765d46 < c2f2e83e3bbc5483730fd4ee903182761f1ae50faffected
LinuxLinux5.15affected
LinuxLinux0 < 5.15unaffected
LinuxLinux7.1.6 <= 7.1.*unaffected
LinuxLinux7.2-rc5 <= *unaffected

Weaknesses

References