summaryrefslogtreecommitdiff
path: root/drivers/scsi/3w-9xxx.c
diff options
context:
space:
mode:
authorJohannes Berg <johannes.berg@intel.com>2022-02-01 16:09:51 +0300
committerJohannes Berg <johannes.berg@intel.com>2022-02-04 18:31:44 +0300
commitf0a6fd1527067da537e9c48390237488719948ed (patch)
tree8a97d6f5056f2affebf3888bdb47f14921366d3c /drivers/scsi/3w-9xxx.c
parent5f06f6bf8d816578c390a2b8a485d40adcca4749 (diff)
downloadlinux-f0a6fd1527067da537e9c48390237488719948ed.tar.xz
cfg80211: fix race in netlink owner interface destruction
My previous fix here to fix the deadlock left a race where the exact same deadlock (see the original commit referenced below) can still happen if cfg80211_destroy_ifaces() already runs while nl80211_netlink_notify() is still marking some interfaces as nl_owner_dead. The race happens because we have two loops here - first we dev_close() all the netdevs, and then we destroy them. If we also have two netdevs (first one need only be a wdev though) then we can find one during the first iteration, close it, and go to the second iteration -- but then find two, and try to destroy also the one we didn't close yet. Fix this by only iterating once. Reported-by: Toke Høiland-Jørgensen <toke@redhat.com> Fixes: ea6b2098dd02 ("cfg80211: fix locking in netlink owner interface destruction") Tested-by: Toke Høiland-Jørgensen <toke@redhat.com> Link: https://lore.kernel.org/r/20220201130951.22093-1-johannes@sipsolutions.net Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/scsi/3w-9xxx.c')
0 files changed, 0 insertions, 0 deletions