From: Johannes Berg Date: Fri, 16 Apr 2021 07:42:14 +0000 (+0200) Subject: cfg80211: scan: drop entry from hidden_list on overflow X-Git-Tag: v5.13-rc1~94^2~87^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=010bfbe768f7ecc876ffba92db30432de4997e2a;p=thirdparty%2Fkernel%2Flinux.git cfg80211: scan: drop entry from hidden_list on overflow If we overflow the maximum number of BSS entries and free the new entry, drop it from any hidden_list that it may have been added to in the code above or in cfg80211_combine_bsses(). Reported-by: Dan Carpenter Link: https://lore.kernel.org/r/20210416094212.5de7d1676ad7.Ied283b0bc5f504845e7d6ab90626bdfa68bb3dc0@changeid Cc: stable@vger.kernel.org Signed-off-by: Johannes Berg --- diff --git a/net/wireless/scan.c b/net/wireless/scan.c index c3b51efff5c69..b21058698a9f4 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -1751,6 +1751,8 @@ cfg80211_bss_update(struct cfg80211_registered_device *rdev, if (rdev->bss_entries >= bss_entries_limit && !cfg80211_bss_expire_oldest(rdev)) { + if (!list_empty(&new->hidden_list)) + list_del(&new->hidden_list); kfree(new); goto drop; }