wifi: cfg80211: ocb: don't leave if not joined

[ Upstream commit abc76cf552 ]

If there's no OCB state, don't ask the driver/mac80211 to
leave, since that's just confusing. Since set/clear the
chandef state, that's a simple check.

Reported-by: syzbot+09d1cd2f71e6dd3bfd2c@syzkaller.appspotmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Johannes Berg 2023-08-15 18:32:03 +02:00 committed by Greg Kroah-Hartman
parent 676a423410
commit d7b0fe3487
1 changed files with 3 additions and 0 deletions

View File

@ -68,6 +68,9 @@ int __cfg80211_leave_ocb(struct cfg80211_registered_device *rdev,
if (!rdev->ops->leave_ocb)
return -EOPNOTSUPP;
if (!wdev->u.ocb.chandef.chan)
return -ENOTCONN;
err = rdev_leave_ocb(rdev, dev);
if (!err)
memset(&wdev->u.ocb.chandef, 0, sizeof(wdev->u.ocb.chandef));