From nobody Fri Oct 2 03:52:13 2026 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 9428E3F1AA1 for ; Wed, 5 Aug 2026 09:04:23 +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=1785920669; cv=none; b=WGU1w0tcmyeLA7S+atnR8h8RFHrbTShEAJ1rJwdhhksN6SrB96svWjq70Gf9O5DGQ6RYIvzfFKPjKAHvMqRNJYk/LGicxK6hYk+9WMiM0Fl4i01dKzl6udP3dyW2NkQrnQpr5uL0mfZZSRuLjLjAj0vhwu8g9dD+t08Kfa/GFWA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785920669; c=relaxed/simple; bh=Togxkij7C2kme5QIwEaqPDTm6F4zgS9K2hAzMNbKeUs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=gEnm1fj4GWApPWe7AWJ+goPNCBBvuxyRGyxsXfAhcspxkpO8cDxVpjn/6wp/meVU42FNJBF0eSmO767ZxZ6w0gIrC6qBgkZmUZERrEcjfFypAqtx5BT2mGjPyloN4NDC9bmV1b0Te1aO79s77gkACRXO7JUnF9zcn8mJqJp2Y0Y= 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=ByhTEkYu; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=bbE2pNhC; 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="ByhTEkYu"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="bbE2pNhC" Received: from pps.filterd (m0279868.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6758dik72348799 for ; Wed, 5 Aug 2026 09:04:19 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=S07xUqBE2zxyvFUizW8oNK HkrfqbQ4/cDGPc+H/8vxg=; b=ByhTEkYuo851WEd4/El6XQnGUnpOwN+0rU6Q76 1RnmUzzRxWldkGsw7FmNsX/bVq7yYJfvNtoYixqZZ3pa5ch3/sJxuIKhuPSke9yU ruwDLem/W9wv1BYmuzTYuRMamIl0q4zPBeQ39MbUctCBb4t74k+INCjfP9LxFq9W yxLJgONlspDNhgwwjQJzA9SsZoxTWQay+yD2SnVjcLAE3ivfHO1awi9fXzMtdJaz eptVFYypUVE8ZaR7/mkmgVhMk8MYntL7oK7F51w3fEAq3tEno+g45kLwdNlVjd2O Lr28X/NOeGX43w3eJBuy9rI6dtwZNo3cTRYM64H1DeiOaeqQ== 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 4fum3nunrv-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 05 Aug 2026 09:04:18 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2d04908139bso14850465ad.2 for ; Wed, 05 Aug 2026 02:04:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785920658; x=1786525458; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=S07xUqBE2zxyvFUizW8oNKHkrfqbQ4/cDGPc+H/8vxg=; b=bbE2pNhCBfxcu8wAEJkUynzUYK28kRBhblTREFyKrAb5B4ciFTn0e13N9+6W5jNRXv bj3tqOxI6Swsp+Olw9y2xJtzgeq0h2o9eeB8fTzWmu14x8yR/F56ySyAV/gOiNRvx7GX TtRd2HuVAvWXGQSAr3n9W9Sv3ZZkzudvcxU2OrGrYuDJk6FOR7zPy45Mnj7mrzJFQIdY ZhkISKnpIFEhgeKMWvQ/E4QJ1VSNntKt9ayUkGDxK/12EHbzXuxvnvy3f8rbJSmO7FRh vFg2/aOxAe7/Oj284uGWfzZFPaVyA1It2U5UkK21QoWeeR2nuN2FOWgu0ag/iaNs64pU 1bfg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785920658; x=1786525458; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=S07xUqBE2zxyvFUizW8oNKHkrfqbQ4/cDGPc+H/8vxg=; b=dgXPKFKMLb6LQWqcluzaLTDMW4Gb53x3SD9rGryVx6qR3Lsj3LNXJnNDT2Qc+GODuW G5UOgIQs1SvP4rFBsLiaM+CIp0tWzRjG1XL4J8Z3ba95PALQ/XI68tBVo5XX9ivkeXZI 6QuAkFfD/zGgssTo2y032vzl6rfqvFl0JOhqW/LfoZ6reyrSHc6+2PX2peVMdDIBsWH2 //5I4Y3REJTqy6s2eEsF2ZLtXn0Igkafz9jiZQ6hIq3iJMCBSUGJN7ZuMALsNHdGI4nK oYG0Q7OcKDWrao1p63krd4nog5DU83aqT8OBySg/R1GpwqC3MjeOiYKuMIQNTSI7lFnv dRFg== X-Forwarded-Encrypted: i=1; AHgh+RoPQRTnvs2S3I9D2B+cY8PEsj/wj4Uzi/b2PotwQyrYWzoDtbTBh66aWNbIyCGbHAcHNOdwhVP7Znp6PS8=@vger.kernel.org X-Gm-Message-State: AOJu0YyNQCoI/weFQA+EV0gYnE7w1FwUAboI6xVkkpi9RTZsoWldlLLa oX/X3e5dYTNcPw6FJwnrVRCAaNa5FyN6L7ss8LLEjyCj3hZjsRq9QWYFqIWVksAX4xBOhP1HTdZ FrG6QcMIhbMaWEGsftkDVH+oxGfnL4+FP5idecPefLM1mDez22sttwo5cw/s9UGacT6A= X-Gm-Gg: AR+sD12LcJQo6aN9RQYf7gkTJNWu3O8Se8AqDjwovFPjkrcwoErWj/crHmCJ+MEEVCt MXkKEk9DgHuF/j9nIvVkaXCqOBkuB0JV+ZKk2jeDhJb4svXL5HCHn5TyxgH8fDsIPJOkOiQKYY3 ru2Xar5p3/tA1ksj+R0VtsUtzfmEuiwuYT50KNalZGmrZouMsvrTbaf0ihF15EsF8Rnr44mrM2W Qge0dpVeiSFkW0JWMfimmE065Azaaqz32OrMSDowh+zjLgq52n64wbiUsb1W7RjAzahD7k1J/U3 vLKdq8hDsNjp0dy4y76vMfQvqqG+afaBeYFWkr4Kqn/FQHF+g5tQ0LOGUZ5RueWcLY6LRO5ikK4 FKxEgzYC9vRTXudd0UGmpU4jeYr+QDTC1JLq1Qg== X-Received: by 2002:a17:903:943:b0:2cf:8131:75e8 with SMTP id d9443c01a7336-2d0ca770d5bmr57141315ad.13.1785920657697; Wed, 05 Aug 2026 02:04:17 -0700 (PDT) X-Received: by 2002:a17:903:943:b0:2cf:8131:75e8 with SMTP id d9443c01a7336-2d0ca770d5bmr57140245ad.13.1785920657108; Wed, 05 Aug 2026 02:04:17 -0700 (PDT) Received: from hu-anupvish-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d0aa4ba225sm14874795ad.61.2026.08.05.02.04.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Aug 2026 02:04:16 -0700 (PDT) From: Anup Vishwakarma Date: Wed, 05 Aug 2026 14:34:07 +0530 Subject: [PATCH] mailbox: qcom-ipcc: fix duplicate channel allocation across holes Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260805-b4-ipcc_mailbox_upstream-v1-1-dfd5ea18829a@oss.qualcomm.com> X-B4-Tracking: v=1; b=H4sIAIb8cmoC/yXMQQ6CMBBG4auQWdtkJFKIVzGGtOVHxwg0HTAkh LtbdPkt3ttIkQRK12KjhI+oTGPG+VRQeLrxASNdNpVcWm64Mv5iJIbQDk7eflrbJeqc4AbDjYW 1XPd1Bcp5TOhl/a1v97918S+E+fjRvn8BIyekGnwAAAA= X-Change-ID: 20260805-b4-ipcc_mailbox_upstream-086e6607f75e To: Manivannan Sadhasivam , Jassi Brar , Sibi Sankar , Bjorn Andersson Cc: Jassi Brar , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Anup Vishwakarma X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1785920653; l=2158; i=anup.vishwakarma@oss.qualcomm.com; s=20260805; h=from:subject:message-id; bh=Togxkij7C2kme5QIwEaqPDTm6F4zgS9K2hAzMNbKeUs=; b=Eyrajja336QS0z/fiGaRB6C6NBSzrGckjtzm7X3IUmSiuDFvHEibuBtUY46G1Xmta6iR2GYRI fwsqMyq5c+aBYySOJSTfffF/gaQmYsxoQw3T6//7ySA9U67HDtWB/0f X-Developer-Key: i=anup.vishwakarma@oss.qualcomm.com; a=ed25519; pk=Y9ilCu91UQrzHOM14SG2IjnmQ1QSroH5uVeBSWEmEDM= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwODA1MDA3MSBTYWx0ZWRfX2CPJuwuXacO4 pqwOj38KIrg4dLUbMGuGIq5EPeuc7Tzu8fEdJpv8Bntymvw8ppToh1tFm1JBIeOVPGvvnseJVxj KgVH8YtnBvqQFwl+hdBZ1ZeLMIgiGJ9j+Dp88wxU7vptkUaenGR0EtRIz6AXz9xC3pk6C11HY7w B1lV2oBL5jEndH6k0BXITt5bLrxXdRhdO/uKa2RDJLLaSZz/6k0RHvhaVRiPHe00ePBTeXAVUbR vO9ajPlO50yC4xxNpuwFf7TskSKdFoYyYCe3UvJ+U2r6usKRmbCa6CaV8svnbCRSixwKJ5oCO/1 kjHBhePIL+1pwlAieViHp0rWAFu6ux92sL64XnlqQxmB2s/UCE77sJQ/7gN0QR4ZTbx1C5ZI0P/ ZZxyq7KphOrAve94H3j5UJplVciwcgUZXEiDmNmw7BkRE0PEGmGSnW0885C44eNeWDScfTHQ9Xf usKGNr2itRpXQWVVVjQ== X-Authority-Analysis: v=2.4 cv=AZqB2XXG c=1 sm=1 tr=0 ts=6a72fc92 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=IkcTkHD0fZMA:10 a=Sv0fKeRqtYgA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=ZpdpYltYx_vBUK5n70dp:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=F3uIU7Ld-pRBMvQ0qbAA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-ORIG-GUID: RlU-C1evlyxzcv_RZIr65fmoPSB0rUzo X-Proofpoint-Spam-Info: AW1haW4tMjYwODA1MDA3MSBTYWx0ZWRfX86cGB2cBVwlo hV+UHz7guNvt1yO6Y7jZl/F9MMRhEHA4D+sdBBh6QhhzDuQu+p1i72Qkzr+Ydxycb4zQhpFMN1s BvPo3rYb14Ii6PoonLFEPjghVqW5VP4= X-Proofpoint-GUID: RlU-C1evlyxzcv_RZIr65fmoPSB0rUzo X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-08-05_03,2026-08-04_02,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 spamscore=0 clxscore=1011 impostorscore=0 suspectscore=0 bulkscore=0 adultscore=0 lowpriorityscore=0 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2608050071 The IPCC of_xlate() both scans for a free mailbox channel and checks for duplicate references to the same underlying IPCC channel. When a channel has been shutdown it might have left a hole in the channel list, which would terminate the search without considering duplicates later in the list. Continue the traversal of the channel list to detect and reject duplicates, while keeping track of the first free channel. Fixes: d6fbfdbc1274 ("mailbox: qcom-ipcc: Fix IPCC mbox channel exhaustion") Cc: stable@vger.kernel.org Signed-off-by: Anup Vishwakarma --- drivers/mailbox/qcom-ipcc.c | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/drivers/mailbox/qcom-ipcc.c b/drivers/mailbox/qcom-ipcc.c index d957d989c0ce..dead907aa7a2 100644 --- a/drivers/mailbox/qcom-ipcc.c +++ b/drivers/mailbox/qcom-ipcc.c @@ -167,7 +167,7 @@ static struct mbox_chan *qcom_ipcc_mbox_xlate(struct mb= ox_controller *mbox, { struct qcom_ipcc *ipcc =3D to_qcom_ipcc(mbox); struct qcom_ipcc_chan_info *mchan; - struct mbox_chan *chan; + struct mbox_chan *chan, *free_chan =3D NULL; struct device *dev; int chan_id; =20 @@ -180,16 +180,21 @@ static struct mbox_chan *qcom_ipcc_mbox_xlate(struct = mbox_controller *mbox, chan =3D &ipcc->chans[chan_id]; mchan =3D chan->con_priv; =20 - if (!mchan) - break; - else if (mchan->client_id =3D=3D ph->args[0] && - mchan->signal_id =3D=3D ph->args[1]) + if (!mchan) { + /* Keep scanning past holes to reject duplicate channel requests. */ + if (!free_chan) + free_chan =3D chan; + } else if (mchan->client_id =3D=3D ph->args[0] && + mchan->signal_id =3D=3D ph->args[1]) { return ERR_PTR(-EBUSY); + } } =20 - if (chan_id >=3D mbox->num_chans) + if (!free_chan) return ERR_PTR(-EBUSY); =20 + chan =3D free_chan; + mchan =3D devm_kzalloc(dev, sizeof(*mchan), GFP_KERNEL); if (!mchan) return ERR_PTR(-ENOMEM); --- base-commit: 0f6da28aab51b16762ed82e8fdeaa5042da45b08 change-id: 20260805-b4-ipcc_mailbox_upstream-086e6607f75e Best regards, -- =20 Anup Vishwakarma