Commit f40db02e authored by Johannes Berg's avatar Johannes Berg
Browse files

wifi: mac80211: use kvcalloc() for codel vars



This is a big array, but it's only used by software and
need not be contiguous in memory. Use kvcalloc() since
it's so big (order 5 allocation).

Reviewed-by: default avatarMiriam Rachel Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20240325150509.9195643699e4.I1b94b17abc809491080d6312f31ce6b5decdd446@changeid


Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 96833fb3
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -1604,7 +1604,7 @@ int ieee80211_txq_setup_flows(struct ieee80211_local *local)
	local->cparams.target = MS2TIME(20);
	local->cparams.ecn = true;

	local->cvars = kcalloc(fq->flows_cnt, sizeof(local->cvars[0]),
	local->cvars = kvcalloc(fq->flows_cnt, sizeof(local->cvars[0]),
				GFP_KERNEL);
	if (!local->cvars) {
		spin_lock_bh(&fq->lock);
@@ -1625,7 +1625,7 @@ void ieee80211_txq_teardown_flows(struct ieee80211_local *local)
{
	struct fq *fq = &local->fq;

	kfree(local->cvars);
	kvfree(local->cvars);
	local->cvars = NULL;

	spin_lock_bh(&fq->lock);