In the Linux kernel, the following vulnerability has been resolved:
wifi: ath12k: Fix memory leak due to multiple rx_stats allocation
rxstats for each arsta is allocated when adding a station. arsta->rxstats will be freed when a station is removed.
Redundant allocations are occurring when the same station is added multiple times. This causes ath12kmacstationadd() to be called multiple times, and rxstats is allocated each time. As a result there is memory leaks.
Prevent multiple allocations of rxstats when ath12kmacstationadd() is called repeatedly by checking if rxstats is already allocated before allocating again. Allocate arsta->rxstats if arsta->rx_stats is NULL respectively.
Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.3.1-00173-QCAHKSWPLSILICONZ-1 Tested-on: WCN7850 hw2.0 PCI WLAN.HMT.1.0.c5-00481-QCAHMTSWPLV1.0V2.0SILICONZ-3