diff options
| author | Paul Aurich <paul@darkrain42.org> | 2024-11-08 14:29:06 -0800 |
|---|---|---|
| committer | Steve French <stfrench@microsoft.com> | 2024-11-10 22:50:38 -0600 |
| commit | 85885a5990eaa4088fb00bb6d022a43d298bf6c5 (patch) | |
| tree | 0c8e9e77cc379513952a74c0064862b0a951cfbf /security | |
| parent | e6054a2024c888391aff754fced5af18ff0efc81 (diff) | |
| download | linux-85885a5990eaa4088fb00bb6d022a43d298bf6c5.tar.gz linux-85885a5990eaa4088fb00bb6d022a43d298bf6c5.tar.bz2 linux-85885a5990eaa4088fb00bb6d022a43d298bf6c5.zip | |
smb: During umount, flush any pending lease breaks for cached dirs
*** WORK IN PROGRESS ***
If a lease break is received right as a filesystem is being unmounted,
it's possible for cifs_kill_sb() to race with a queued
smb2_cached_lease_break(). Since the cfid is no longer on the
cfids->entries list, close_all_cached_dirs() cannot drop the dentry,
leading to the unmount to report these BUGs:
BUG: Dentry ffff88814f37e358{i=1000000000080,n=/} still in use (2) [unmount of cifs cifs]
VFS: Busy inodes after unmount of cifs (cifs)
------------[ cut here ]------------
kernel BUG at fs/super.c:661!
Flush anything in the cifsiod_wq workqueue in close_all_cached_dirs.
Fixes: ebe98f1447bb ("cifs: enable caching of directories for which a lease is held")
Cc: stable@vger.kernel.org
Signed-off-by: Paul Aurich <paul@darkrain42.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'security')
0 files changed, 0 insertions, 0 deletions
