mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
cifs: fix use after free for iface while disabling secondary channels
We were deferencing iface after it has been released. Fix is to release after all dereference instances have been encountered. Signed-off-by: Ritvik Budhiraja <rbudhiraja@microsoft.com> Reported-by: kernel test robot <lkp@intel.com> Reported-by: Dan Carpenter <error27@gmail.com> Closes: https://lore.kernel.org/r/202311110815.UJaeU3Tt-lkp@intel.com/ Signed-off-by: Steve French <stfrench@microsoft.com>
This commit is contained in:
parent
98b1cc82c4
commit
a15ccef82d
@ -332,10 +332,10 @@ cifs_disable_secondary_channels(struct cifs_ses *ses)
|
||||
|
||||
if (iface) {
|
||||
spin_lock(&ses->iface_lock);
|
||||
kref_put(&iface->refcount, release_iface);
|
||||
iface->num_channels--;
|
||||
if (iface->weight_fulfilled)
|
||||
iface->weight_fulfilled--;
|
||||
kref_put(&iface->refcount, release_iface);
|
||||
spin_unlock(&ses->iface_lock);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user