]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commit - net/mac80211/iface.c
mac80211: add fragment cache to sta_info
authorJohannes Berg <johannes.berg@intel.com>
Tue, 25 May 2021 17:46:00 +0000 (19:46 +0200)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Fri, 28 May 2021 10:39:08 +0000 (12:39 +0200)
commit033d9008a803c068407b1c6ac163fdfe0a49723e
tree1a443f904c56155ad6a6f18d70cf4b6785d6c4b5
parentbb85c04ec32e1718d01d6bb431a69ca6705143df
mac80211: add fragment cache to sta_info

Prior patches protected against fragmentation cache attacks
by coloring keys, but this shows that it can lead to issues
when multiple stations use the same sequence number. Add a
fragment cache to struct sta_info (in addition to the one in
the interface) to separate fragments for different stations
properly.

This then automatically clear most of the fragment cache when a
station disconnects (or reassociates) from an AP, or when client
interfaces disconnect from the network, etc.

On the way, also fix the comment there since this brings us in line
with the recommendation in 802.11-2016 ("An AP should support ...").
Additionally, remove a useless condition (since there's no problem
purging an already empty list).

Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20210511200110.fc35046b0d52.I1ef101e3784d13e8f6600d83de7ec9a3a45bcd52@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
(cherry picked from commit 3a11ce08c45b50d69c891d71760b7c5b92074709)
CVE-2020-24586
CVE-2020-24587
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
Acked-by: Tim Gardner <tim.gardner@canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
net/mac80211/ieee80211_i.h
net/mac80211/iface.c
net/mac80211/rx.c
net/mac80211/sta_info.c
net/mac80211/sta_info.h