smb: client: Avoid race in open_cached_dir with lease breaks
A pre-existing valid cfid returned from find_or_create_cached_dir might race with a lease break, meaning open_cached_dir doesn't consider it valid, and thinks it's newly-constructed. This leaks a dentry reference if the allocation occurs before the queued lease break work runs. Avoid the race by extending holding the cfid_list_lock across find_or_create_cached_dir and when the result is checked. Cc: stable@vger.kernel.org Reviewed-by:Henrique Carvalho <henrique.carvalho@suse.com> Signed-off-by:
Paul Aurich <paul@darkrain42.org> Signed-off-by:
Steve French <stfrench@microsoft.com>
Loading
Please register or sign in to comment