cfg80211: limit scan results cache size
authorJohannes Berg <johannes.berg@intel.com>
Tue, 15 Nov 2016 11:05:11 +0000 (12:05 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Fri, 18 Nov 2016 07:44:44 +0000 (08:44 +0100)
commit9853a55ef1bb66d7411136046060bbfb69c714fa
treea8efd65d0ba6529fc0e656ae88efa9507ecccb0e
parent4fb7f8af1f4c14a2a6cee7c9ff0cf999d918c72d
cfg80211: limit scan results cache size

It's possible to make scanning consume almost arbitrary amounts
of memory, e.g. by sending beacon frames with random BSSIDs at
high rates while somebody is scanning.

Limit the number of BSS table entries we're willing to cache to
1000, limiting maximum memory usage to maybe 4-5MB, but lower
in practice - that would be the case for having both full-sized
beacon and probe response frames for each entry; this seems not
possible in practice, so a limit of 1000 entries will likely be
closer to 0.5 MB.

Cc: stable@vger.kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/core.h
net/wireless/scan.c