From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 C9FEF356759 for ; Thu, 30 Jul 2026 01:05:18 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785373521; cv=none; b=YXFrvpP8lCtJ1fdc3vbehzYkhdekIXh8WJ5NeTdEj7QTMX+y9B0r3GsUDYCwcNOssSOQzrCqke6QdYIidPjnZBasKx8sNhjIz4c7gM2zDRzhUhW3gPzsLjxTa4v7H5kssWdSqEHIyw+bbxK5ONUvwsi2pgzGxq9cFCcvsFF1GfQ= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785373521; c=relaxed/simple; bh=aEGf7PIuBZ+MHW/eqEqoQXnJ2uzCpXMwo/25tnWSSRM=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=NhHiPP1tSJbCfT+htxPVdqzwzq4m0SbzT3YxFbsqB0m83EfSDVHCziEOIqDevY8SnLWK/IoqkL2KgKr0qd0kaWujgP/3Dohjmo6wNuA93LpCTTEKvGgxiQzYUn4LQoKNSpjQ0V1aOV5w7IGoHFk7f+ABWYpL+bnuqjIYqTzis0A= 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=LF2JPwHN; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gaXVtGLh; arc=none smtp.client-ip=205.220.180.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="LF2JPwHN"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gaXVtGLh" Received: from pps.filterd (m0279871.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66U0tmdY3703079 for ; Thu, 30 Jul 2026 01:05:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=ZYFFatroACJ PZgrWGjCltvltJd9wtFIF3w6l6ozfvvM=; b=LF2JPwHNAcAcRwVXVbQLYDQpR/D P2naiK7e4f11l1YD7xBCQKmaQ8VqNdMYY8+YGg+s311mubJgqor8QIgBG1d8VRrt RgQiUxt9596wIjwRhI9+H+YSAdPcvFmteLemLceqWVK/TWEiUHaR99eYyZgkyQ3O 7/nW/4W5s1CZKvir+XvdueqV4qpRRfgSDKgUE0psXABp8ncW2Swy1jyJ19FN1VxU MfBjLfPP5PkSt8NxVnTS40atlyUSSTF3hUedA0PdDiN2EXtVOMe1ms+1jzKNa7wb +ColVwaVGurZThRV3Iy/klA1tfvPTQYdub2RrO8qFt82Pc2uxfI2WmqY03w== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fqvgb00uq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 30 Jul 2026 01:05:17 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-cb4bd11ddf8so1730014a12.3 for ; Wed, 29 Jul 2026 18:05:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785373517; x=1785978317; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ZYFFatroACJPZgrWGjCltvltJd9wtFIF3w6l6ozfvvM=; b=gaXVtGLh06txl2SqmVfCemq6yySaUZWkG4QfEwbFQsEesl0VlSR492AGE6pdvzX5/T 1lB0nvCIHj/5qfxUVmt2TwDWj8zS1aNXDzofZqjUD1uquksW3ptKNJTZECNgn1CC52UN mySM+gvY6J3xs6rqXFgWcivEehUxmn5/2A0loSIuTLmBe68cd5pfrgL3hMfU4USyJIBP adCwCD18wTRRW+FPxFevLu3Dhqi1Eb7Ty0v6CYAF+jIOpgMVoGu44SOnW3GcPziMBQdd 3Kg1NES2ZyP2N5ov53fZjfQmCmNHmxzHhGA85wB7zf7kjSYEVwnZCorkcS0MHNudgRzt Y7JQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785373517; x=1785978317; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=ZYFFatroACJPZgrWGjCltvltJd9wtFIF3w6l6ozfvvM=; b=ZEJuJWR2X35QEeCZagMPLgSoxgPi4/DO6CoIimATm3hvtYy2AjCUBISCJPEz1MlRVp tgMwzOdlkkVT4W4Di6vNSp3DDl/Ic2SCgFH6sl1l6HlinRCrrdn2yRSClNtGps14MR5c Us6Pfrm0W/PR3O3yKCZG5IZL2kERWTkM7W+UbwFTd3R1QApw5fi4s3LduuwlxmaSS14m HNuQN2M5gudWEpiQqPwe+QHkcio8FPpa2EodtwTuFXicqbrpHV5pUXCPIkVLmFozJVRm u9Owv2x075p3mQUBGoBSjg2uNKpuMgrgwmJAUGwXBeFF0QkJcnLij5FxsqLGd7bIo1P/ R+Og== X-Forwarded-Encrypted: i=1; AHgh+RqQm8W6j9S/DDmsxsVuvQEM4C6W9VO4XV3VnMzKb4nLYTVh4u0HCLn/RCGyDKTiAxJexIuJENGr+rtHXkA=@vger.kernel.org X-Gm-Message-State: AOJu0YwC5QCKbDFqStQhw5uyjyKxwT3m5Qd7LiX165Ar4FRe5IT5zzYF dEzgiPQAUTvJxNXOj3fZdEYCDKYYA57T2OWfeNsQBGHLEw40+Hk9gvmKBgi6fcTAKPrDtPdKyAE 2bQQebSFQn62guJ2NZ2VmP11iVUs5C/yqRfjw9mo6roiQfie6ZV/xFZVkc4DhQD2ds3k= X-Gm-Gg: AR+sD12AMTtd3+IV1F23E8+jc+5aEfICIxUmMNAVXfx49wM7WJGbuEpFFaDlIYR5/vb QGJiOO0UmPvcPFOV02icNkiA8eZfqNCqy6rpOfWsxoY8PZRzzbttvWNQUp4QSGsdnlHshAHnVbj +k4ZnSJfrBqBSkf9CEEoeMTjz+6O0KNEcNxaLCb6bOLJdI55CEIQuulQms3KuQZ/FHmv+Of7elp uVRozPeJh7wnvpLgnKxoGgyCNr8DHuTsnvU6zCUuGS7IXZVGi+mdxXTIDZgg3bboqWDx4H+kL2W /FrCEZTp8IIkVOz1rQorphI2gvgfiJSVBlQhkwbewgcyGquUXtjztsKEkFhb3Jky7rzP7UdVQJU 2e3XB556WipgMLcwwXY8rn5OIsSZ84liCQOR4OyAWEByUYZm+ETTWWZxKRyY= X-Received: by 2002:a05:6a00:3495:b0:847:9aa8:d3bb with SMTP id d2e1a72fcca58-84ebc1f5e37mr658358b3a.12.1785373516691; Wed, 29 Jul 2026 18:05:16 -0700 (PDT) X-Received: by 2002:a05:6a00:3495:b0:847:9aa8:d3bb with SMTP id d2e1a72fcca58-84ebc1f5e37mr658319b3a.12.1785373516286; Wed, 29 Jul 2026 18:05:16 -0700 (PDT) Received: from Z2-SFF-G9-MQ.ap.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84e9fe23120sm2168563b3a.11.2026.07.29.18.05.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 29 Jul 2026 18:05:15 -0700 (PDT) From: Miaoqing Pan To: jjohnson@kernel.org Cc: ath12k@lists.infradead.org, linux-wireless@vger.kernel.org, linux-kernel@vger.kernel.org, Miaoqing Pan Subject: [PATCH ath-current 2/3] wifi: ath11k: fix NULL dereference in ahb remove when QMI init incomplete Date: Thu, 30 Jul 2026 09:05:04 +0800 Message-Id: <20260730010505.143458-3-miaoqing.pan@oss.qualcomm.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20260730010505.143458-1-miaoqing.pan@oss.qualcomm.com> References: <20260730010505.143458-1-miaoqing.pan@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzMwMDAwMyBTYWx0ZWRfX821DEtYZ1Rnl lRdJ4WaqrKdGScIXH8p/FPiIOWzV4PsCJdG4M/x47VvPn/V1Uw89bqYxyiFPqMkrdlkbwvQuGuo yHrIDl93Bti8RC8PkQR+uXiFRf8ix4OxMthz2fsX6K5eZiZbsmlWHhBcN+V9x7iKIFVQoLOrLmI BPc8E6j5z0g485W3Wb/v56ZjUnZ6W/rPgu0/7w1ezSiJHlHKciJsBvptpNnetjLS3E6md8f71md UyKi5W1phuW917FvORW9J3Q1Vd7BGXjEZ2MC9Te8kmCTvLDn7JPKvgRHSlG5Q+PJnTJHMY0JWjQ pH8lf0eReYNoe+wY+qy3e2ltZAvksfHISvOqrgz0HMdtpjDIELL1xMgLvSZKI0btYHjY7JqsRqC RRkJoVKEJsnNMrOHOkXuk5YGgNXKdjPB3VrGimly2/DoY0dSeof7xZfI+8jKtpJJkgsvfgg9KXh XDO22ryN4DXrOjGj+/Q== X-Proofpoint-ORIG-GUID: G2fZvMgXsJrGpNGRpuX-Th2Y262I9ZBl X-Authority-Analysis: v=2.4 cv=WeY8rUhX c=1 sm=1 tr=0 ts=6a6aa34d cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=3WHJM1ZQz_JShphwDgj5:22 a=EUspDBNiAAAA:8 a=1dbm4JsyFlBaYKuhsR8A:9 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-GUID: G2fZvMgXsJrGpNGRpuX-Th2Y262I9ZBl X-Proofpoint-Spam-Info: AW1haW4tMjYwNzMwMDAwMyBTYWx0ZWRfX5xdrLr2LTPuK 5KdrOyCjUxLsQqb7BY52ZyPNeaLj64iaKgXPMa/apGgu4brCJ2DgED5qRJAhsOOojtiNaj7aofQ y8/oiJhgzy6LsPE6K6mLFO7f5CGXH2s= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-07-29_09,2026-07-29_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 priorityscore=1501 suspectscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 malwarescore=0 bulkscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607300003 On WCN6750, if QMI messages never arrive (for example when qrtr_smd is not ready), WLAN initialization stops before the device is fully registered. In this case ATH11K_FLAG_QMI_FAIL is not set because no QMI event handler is executed. When the driver is removed, ath11k_ahb_remove() still calls ath11k_core_deinit(), which eventually triggers ath11k_ce_cleanup_pipes() on uninitialized CE pipes and results in a NULL pointer dereference in ath11k_hal_srng_access_begin(): ath11k_hal_srng_access_begin+0x14/0x68 [ath11k] ath11k_ce_cleanup_pipes+0x184/0x190 [ath11k] ath11k_pcic_stop+0x24/0x38 [ath11k] ath11k_core_deinit+0xfc/0x1c0 [ath11k] ath11k_ahb_remove+0x38/0xa0 [ath11k_ahb] Fix this by invoking ath11k_ahb_remove_prepare() before the state check and skipping ath11k_core_deinit() when either QMI initialization failed or the device was never registered. If ATH11K_FLAG_REGISTERED is not set, core initialization did not complete and CE pipes may remain uninitialized, making ath11k_core_deinit() unsafe. Tested-on: WCN6750 hw1.0 AHB WLAN.MSL.2.0.c2-00204-QCAMSLSWPLZ-1 Fixes: 00402f49d26f ("ath11k: Add support for WCN6750 device") Signed-off-by: Miaoqing Pan --- drivers/net/wireless/ath/ath11k/ahb.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/net/wireless/ath/ath11k/ahb.c b/drivers/net/wireless/ath/ath11k/ahb.c index fb5640882b98..7f5f5c8d7c56 100644 --- a/drivers/net/wireless/ath/ath11k/ahb.c +++ b/drivers/net/wireless/ath/ath11k/ahb.c @@ -1265,14 +1265,16 @@ static void ath11k_ahb_remove(struct platform_device *pdev) { struct ath11k_base *ab = platform_get_drvdata(pdev); - if (test_bit(ATH11K_FLAG_QMI_FAIL, &ab->dev_flags)) { + ath11k_ahb_remove_prepare(ab); + + if (test_bit(ATH11K_FLAG_QMI_FAIL, &ab->dev_flags) || + !test_bit(ATH11K_FLAG_REGISTERED, &ab->dev_flags)) { ath11k_ahb_power_down(ab, false); ath11k_debugfs_soc_destroy(ab); ath11k_qmi_deinit_service(ab); goto qmi_fail; } - ath11k_ahb_remove_prepare(ab); ath11k_core_deinit(ab); qmi_fail: -- 2.34.1