smb: Initialize cfid->tcon before performing network ops
BugLink: https://bugs.launchpad.net/bugs/2101915
[ Upstream commit c353ee4fb119a2582d0e011f66a76a38f5cf984d ]
Avoid leaking a tcon ref when a lease break races with opening the
cached directory. Processing the leak break might take a reference to
the tcon in cached_dir_lease_break() and then fail to release the ref in
cached_dir_offload_close, since cfid->tcon is still NULL.
Fixes: ebe98f1447 ("cifs: enable caching of directories for which a lease is held")
Signed-off-by: Paul Aurich <paul@darkrain42.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
CVE-2024-56729
Signed-off-by: Koichiro Den <koichiro.den@canonical.com>
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
This commit is contained in:
committed by
Stefan Bader
parent
f3d4387ca8
commit
02853d2ca2
@@ -227,6 +227,7 @@ replay_again:
|
||||
}
|
||||
}
|
||||
cfid->dentry = dentry;
|
||||
cfid->tcon = tcon;
|
||||
|
||||
/*
|
||||
* We do not hold the lock for the open because in case
|
||||
@@ -298,7 +299,6 @@ replay_again:
|
||||
}
|
||||
goto oshr_free;
|
||||
}
|
||||
cfid->tcon = tcon;
|
||||
cfid->is_open = true;
|
||||
|
||||
spin_lock(&cfids->cfid_list_lock);
|
||||
|
||||
Reference in New Issue
Block a user