diff options
author | Paulo Alcantara (SUSE) <pc@cjr.nz> | 2019-12-04 21:38:02 +0100 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2020-01-27 02:24:16 +0100 |
commit | 06d57378bcc9b2c33640945174842115593795d1 (patch) | |
tree | bcb8b54174a3b4c3ed19ddf49ec95768950250c7 /fs/verity | |
parent | cifs: Merge is_path_valid() into get_normalized_path() (diff) | |
download | linux-06d57378bcc9b2c33640945174842115593795d1.tar.xz linux-06d57378bcc9b2c33640945174842115593795d1.zip |
cifs: Fix potential deadlock when updating vol in cifs_reconnect()
We can't acquire volume lock while refreshing the DFS cache because
cifs_reconnect() may call dfs_cache_update_vol() while we are walking
through the volume list.
To prevent that, make vol_info refcounted, create a temp list with all
volumes eligible for refreshing, and then use it without any locks
held.
Besides, replace vol_lock with a spinlock and protect cache_ttl from
concurrent accesses or changes.
Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/verity')
0 files changed, 0 insertions, 0 deletions