summaryrefslogtreecommitdiff
path: root/include/uapi/linux/ipmi_msgdefs.h
diff options
context:
space:
mode:
authorFrank Sorenson <sorenson@redhat.com>2026-07-21 18:55:52 -0500
committerSteve French <stfrench@microsoft.com>2026-07-21 20:19:11 -0500
commitc2f2e83e3bbc5483730fd4ee903182761f1ae50f (patch)
tree3aeda5470ef8aef8db5b0a8fd7b681905eded413 /include/uapi/linux/ipmi_msgdefs.h
parente8a8d54c2d508891c142a928fc7d298c4c8bd0dd (diff)
downloadlinux-c2f2e83e3bbc5483730fd4ee903182761f1ae50f.tar.gz
linux-c2f2e83e3bbc5483730fd4ee903182761f1ae50f.zip
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. Fixes: e3fc065682eb ("cifs: Deferred close performance improvements") Signed-off-by: Frank Sorenson <sorenson@redhat.com> Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'include/uapi/linux/ipmi_msgdefs.h')
0 files changed, 0 insertions, 0 deletions