From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5E9A3258CE7 for ; Fri, 30 Jan 2026 10:32:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769769144; cv=none; b=slKzAFdLy/1CNrnb5o14oeVgFPOsZMKGxy9EG+8n5PG/dfqFrXfKRYnDKzZuug3Wi7gLF4SgdjmZv5EZs3Ah7/lydwqHzkMCXTQ2RbXi4m/qw0PsZEHTmLvNkRC4JGXrsXbKDP3n9ujZSyGWPbhkriUIgz1YkdRVMEcnNHRsg6A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769769144; c=relaxed/simple; bh=x2Fa4zFCAQe58U21V2D/m7gyHU/goPS9Un8g4G8dTRU=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=MA4HpJv7EHrPTU/Bdi2l7ExWg8jZ7vGNk9ZZiy0LlqI4Ly5WlL5IKBiDrGqJpd3bj95mtjLslhG8Re+4aCiOw/j0RqYkNrhkooEYI5oQS28CE6tONfzrdeqWEg3atxi5zJLgYaH1QmoMV1A2zyELgAEPfYAU2OhqKbG3tJrFhVQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=eC9NAg28; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gJoVNQag; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="eC9NAg28"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gJoVNQag" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 60U3VOol890987 for ; Fri, 30 Jan 2026 10:32:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= ajrqp3chO4YHwqPxAs4wl7Ae8mZrzZqPM2SAtc3oJGI=; b=eC9NAg280b4uiYqj OLZRbdCg4/12nYDVA0wjoZwXyL6aMQ7GwFf+gjEISscSkGo6i4Z8KCSxqQ9N0d72 QISL5CFLJFZ3O7bnoSlp/X7aQHzahc6B2F3Wc8TXUhQXFRkqEACapwhVwothBtBy KctKf8+gy/A3sLeszVuIKpEcrcXtWtmj0jjW2aje0594g3j5kuEJgoLJVtaNV7yR zCGgQGca5flMZDLurgBrEI/Llvd2Uzk99/sK9JJRG63A2uAj5iycL7coq36GFOnl pu5GQaivAKMdlAsF8UJjKvFUF8nIy2XRC3G5Eu+MYPCgSF74S2gSEZeQ+rflAGg7 RI0M0w== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c0gs7st8s-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 30 Jan 2026 10:32:21 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2a0f0c7a06eso19822955ad.2 for ; Fri, 30 Jan 2026 02:32:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1769769141; x=1770373941; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=ajrqp3chO4YHwqPxAs4wl7Ae8mZrzZqPM2SAtc3oJGI=; b=gJoVNQagldQ4kqbS5fdciBGo4VZFqGT+aQ0Gr+e/uMPmXNBlbqW60U+GZQp+XWzzuc 97oNxydIIZXSwyhy4AGIGjZvUdi4DacBYx6tEfEr+4FSPH2Lcn4mfXiFxb+FD1Y44GVa P5t/EejA7CKZIjlimhXLyeoG6dxkz5Jx+VVhoC/+EX5nxvXUyhTDuQkb6FFalJqoWt+o nWwXn0gXB/9aJtt9uYOlhFaH/Z7HMzKrS8BGatSUTaaWyLzRu/jCZJghy88yGwYq5nXH iWOgNwJZ0NCJRi6Lu28cHpXwd+LQKnjLTMn+vogZQBe/ETuDnOb7m3U2ysd9mpKrxKqG YLTA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769769141; x=1770373941; h=content-transfer-encoding:in-reply-to:content-language:from :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=ajrqp3chO4YHwqPxAs4wl7Ae8mZrzZqPM2SAtc3oJGI=; b=wjHghU/lORT/JhvizExWbZpkA6TLddY8FSL2QwPCYwyK2y0WIvTZpdOoN8JqFCIGvi KQaLdac9oX8hmDU6NEPcWSYgPmKQNQSmlXOtPR7aiNidtxZrYH2iB39GAxlJPQVCKWCB NPN/LdOTnlgLzIsI/qSUCe8MuW+QWE1Ixe3Htrdykw6uZ3UTfUvBi4LbBdJAAPbl06R1 fpTon902mjjPml8H0hbuA05YuKR/YenJqdiYJ8K5bQHW+9f19TiP5i8OJ1GAYnaRXdT5 V5ycyZbwI/bWd8PC9Em256Ok/mD5dsMw3weDHMdKWOh369+/4rPWRBS+S39+Cepj2+VX lOKw== X-Forwarded-Encrypted: i=1; AJvYcCXU1R8lYeUHg/hzPhK5jiRCfpntSRGOdrOWQKsj2IoN1o9f2Ae5dWWYlz8qBI3uQH/VnoR7l7CnG50kEro=@vger.kernel.org X-Gm-Message-State: AOJu0YwpPgEPxTKsdcrpk07qB0fF63ZUvq07BEjZ6TqKf5LhL+c9y4At VQi77Nqbt5AV9vAvnNBBEKnVqfVrqHmFWdf8nZAyIiv2mVIc2mcyOJGpc3/umPrOtWTi3g4v+15 jCn6CCSIWmKUipsirhzJcSiRS922/epsuXU9jz7gymhb7zPhh3QoHAkcT+gNVmILAh//nOYf/im o= X-Gm-Gg: AZuq6aImRzWYH78ImVDICtcHDZiV8vFUOiTqN5GyP6PztPcqxJB1BIQZgM2xgyOdKXk Q4AJV4Z+ONm2TOaQWljAxsb6JibeMpf5YDvGIX2+wsHor9CbRY1cDvIqaOl2fnG57ZxJo6MAUKU wzOC7tudCjSgDdFc1xJhC5F25hA6Z1QcE4a4tt5ajyV+kVR0mmVbJ9WLS1bjgBoC97KsGxtvaFg A22PrgEH3bRSgu7Ud/yov2QH0W5hz8Y6WUrck6n355zaSnHBPHd3HnPrS3eIOY+1dlf3zQf7vaq szzetJm1f5VbIPjAHe8UCQvqoq75lWpf+Gmd1oybLgYV+dgutvDdIHanFy57tqxQ568tjp/Hewc zUAcQ+fq4MF9xyqML6BqDmgoa+/Aoc4dwP2qo1sXyxL7OZ554P0IBXkf6dZRmSIuLk0KIFU4IyT pTXcuNTw== X-Received: by 2002:a05:6a21:138c:b0:38d:f56f:cdde with SMTP id adf61e73a8af0-392e0000443mr2454032637.8.1769769140790; Fri, 30 Jan 2026 02:32:20 -0800 (PST) X-Received: by 2002:a05:6a21:138c:b0:38d:f56f:cdde with SMTP id adf61e73a8af0-392e0000443mr2454001637.8.1769769140304; Fri, 30 Jan 2026 02:32:20 -0800 (PST) Received: from [10.133.33.47] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3540f2cb0a7sm7740722a91.2.2026.01.30.02.32.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 30 Jan 2026 02:32:19 -0800 (PST) Message-ID: Date: Fri, 30 Jan 2026 18:32:16 +0800 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v3] wifi: ath11k: fix memory leaks in beacon template setup To: Zilin Guan , jeff.johnson@oss.qualcomm.com Cc: ath11k@lists.infradead.org, jianhao.xu@seu.edu.cn, jjohnson@kernel.org, linux-kernel@vger.kernel.org, linux-wireless@vger.kernel.org References: <20260130084451.110768-1-zilin@seu.edu.cn> From: Baochen Qiang Content-Language: en-US In-Reply-To: <20260130084451.110768-1-zilin@seu.edu.cn> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMTMwMDA4NCBTYWx0ZWRfXzcOS6deXmIol HO9nnGW3eeAQcwCRUe0i6S+lhBOguhvdwLY2B0mV/3gZ6hx6yd3nCxiaV2TPotKExtDCl/UwBSM Q5mngFow+LfmKNCm7K282qUE6IXrmPbqSoML2ej+qcmGtEX/vMLmNCvXXYd5Z64ezs1zYKQDuR/ JSBPGLX3p5YnB6GlsXLhZ7LO4+vbo4PGweq4R15QW0s4W/B51W7sM13LXo1VHteFPTNFFgmQhoc xDeWlgZJYqtC/yclzSHSpnlAQ32Q8KnKeSg37U7KHpKL0fjo8Wlwsxdp00R567gpcTmJeM4zksj sJKFrgZG/rMPEhmKPumwWCaRl55qj1p00omWivozXMZp4ELIWL8G5grZgduCDVy16z9kkMGBBTz Lq0G6/aw4q5gvVQN3BcToRSqvXa3o03uupXJ6AEo/sCyT4Tcv8/wbd6rwQFPWXDLAXluqtdTJEy SiuX1LqxW2PH1r9SisA== X-Proofpoint-ORIG-GUID: 0mCiNSEyGmqP2mNUhRZWss2XQXHzo15S X-Proofpoint-GUID: 0mCiNSEyGmqP2mNUhRZWss2XQXHzo15S X-Authority-Analysis: v=2.4 cv=UPLQ3Sfy c=1 sm=1 tr=0 ts=697c88b5 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=vUbySO9Y5rIA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=EUspDBNiAAAA:8 a=Nk4IflzP70UQ0qszZz0A:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-01-30_01,2026-01-29_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 malwarescore=0 adultscore=0 suspectscore=0 clxscore=1015 priorityscore=1501 lowpriorityscore=0 spamscore=0 impostorscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2601300084 On 1/30/2026 4:44 PM, Zilin Guan wrote: > The functions ath11k_mac_setup_bcn_tmpl_ema() and > ath11k_mac_setup_bcn_tmpl_mbssid() allocate memory for beacon templates > but fail to free it when parameter setup returns an error. > > Since beacon templates must be released during normal execution, they > must also be released in the error handling paths to prevent memory > leaks. > > Fix this by using unified exit paths with proper cleanup in the respective > error paths. > > Compile tested only. Issue found using a prototype static analysis tool > and code review. > > Fixes: 3a415daa3e8b ("wifi: ath11k: add P2P IE in beacon template") > Fixes: 335a92765d30 ("wifi: ath11k: MBSSID beacon support") > Suggested-by: Baochen Qiang > Signed-off-by: Zilin Guan > --- > Changes in v3: > - Add goto path for the beacons->cnt check for strict logical consistency. > > Changes in v2: > - Use unified exit paths for cleanup. > > drivers/net/wireless/ath/ath11k/mac.c | 28 ++++++++++++++++----------- > 1 file changed, 17 insertions(+), 11 deletions(-) > > diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c > index 4dfd08b58416..e872f416ea97 100644 > --- a/drivers/net/wireless/ath/ath11k/mac.c > +++ b/drivers/net/wireless/ath/ath11k/mac.c > @@ -1557,12 +1557,15 @@ static int ath11k_mac_setup_bcn_tmpl_ema(struct ath11k_vif *arvif, > if (!beacons || !beacons->cnt) { > ath11k_warn(arvif->ar->ab, > "failed to get ema beacon templates from mac80211\n"); > - return -EPERM; > + ret = -EPERM; > + goto free; > } > > if (tx_arvif == arvif) { > - if (ath11k_mac_set_vif_params(tx_arvif, beacons->bcn[0].skb)) > - return -EINVAL; > + if (ath11k_mac_set_vif_params(tx_arvif, beacons->bcn[0].skb)) { > + ret = -EINVAL; > + goto free; > + } > } else { > arvif->wpaie_present = tx_arvif->wpaie_present; > } > @@ -1589,11 +1592,11 @@ static int ath11k_mac_setup_bcn_tmpl_ema(struct ath11k_vif *arvif, > } > } > > - ieee80211_beacon_free_ema_list(beacons); > - > if (tx_arvif != arvif && !nontx_vif_params_set) > - return -EINVAL; /* Profile not found in the beacons */ > + ret = -EINVAL; /* Profile not found in the beacons */ > > +free: > + ieee80211_beacon_free_ema_list(beacons); > return ret; > } > > @@ -1622,19 +1625,22 @@ static int ath11k_mac_setup_bcn_tmpl_mbssid(struct ath11k_vif *arvif, > } > > if (tx_arvif == arvif) { > - if (ath11k_mac_set_vif_params(tx_arvif, bcn)) > - return -EINVAL; > + if (ath11k_mac_set_vif_params(tx_arvif, bcn)) { > + ret = -EINVAL; > + goto free; > + } > } else if (!ath11k_mac_set_nontx_vif_params(tx_arvif, arvif, bcn)) { > - return -EINVAL; > + ret = -EINVAL; > + goto free; > } > > ret = ath11k_wmi_bcn_tmpl(ar, arvif->vdev_id, &offs, bcn, 0); > - kfree_skb(bcn); > - > if (ret) > ath11k_warn(ab, "failed to submit beacon template command: %d\n", > ret); > > +free: > + kfree_skb(bcn); > return ret; > } > Reviewed-by: Baochen Qiang