+38
−3
Loading
Replace close_cached_dir() calls under cfid_list_lock with a new close_cached_dir_locked() variant that uses kref_put() instead of kref_put_lock() to avoid recursive locking when dropping references. While the existing code works if the refcount >= 2 invariant holds, this area has proven error-prone. Make deadlocks impossible and WARN on invariant violations. Cc: stable@vger.kernel.org Reviewed-by:David Howells <dhowells@redhat.com> Signed-off-by:
Henrique Carvalho <henrique.carvalho@suse.com> Signed-off-by:
Steve French <stfrench@microsoft.com>