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 3681342BC34 for ; Mon, 27 Jul 2026 18:39:52 +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=1785177595; cv=none; b=NO6WXcQrJbJHTZ3UcZfzBcDLMyqE3t/VJghSmnhybk5qNKDZgj9Idy6Vz+0O/hZf2rv5To3MGZSnVjoJ8SW5h8oiNaScME4H9me1b2xMtds7qR+y5NXbrEa0zHfAR2LHL3M1GznTlxEdtJY38kRdbVUiEYefOBQIpzbqo3uK10Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785177595; c=relaxed/simple; bh=37zguWih+b1UsT/1ZAs425jIctLpVxmJlwIfFLGvVNM=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=WRTSxZEBWTV7mDsS8wleAk1i6mjHhFJoRqmjuC4Bhbd4gNoks/SSyPCPSWbPvWsBS9MpcpQmgnDaw2E5v8YEuzEfxLvk8PxFFAUQY3/5qtvN8vFjd+MNWB5vfZ5PkyeCjwg2PLa+NGVII8T1m1aehAPiZM3m3AdCrgx6J2w3NBU= 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=mLYug4lU; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=IQ4qaW2/; 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="mLYug4lU"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="IQ4qaW2/" Received: from pps.filterd (m0279865.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 66RICGTp649585 for ; Mon, 27 Jul 2026 18:39:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to; s=qcppdkim1; bh=dc37tfIhue0wL8SZOw1sGO1g +jEfLA2LSgFTGKid14E=; b=mLYug4lUNYQavzoriX4+2X+aKdF1BXiq41jo+ptT x+HzCYj44ICsmvWRRcdfokZu/8JXxctTTbc+92Esum7WPtk55MCWoqRrFLpYg4OS Wx32g1seYldyPSrFdUkrOaLVZAxGwy6sVEgUY9wJd2dJhIaTR2oH8EPifk/jpjfi YmfoBJXVOOGO98nru9ZXzvEvkUBiyiTVfpLnyXh8IRyiiVyPrQD3o57GSvAnfxe3 468iZcBkWVsV9lzWRKmWTdctiWfPowyESt+N63J4tIOfpeHwPwubh2dlPXbpr2Vt mS8dBQa8XAcq7GJVE/lz+xcrj1eAQ73AdGiiPXpfqVdypQ== Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4fp4c62h7a-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Mon, 27 Jul 2026 18:39:51 +0000 (GMT) Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-cb7049fa552so1951974a12.2 for ; Mon, 27 Jul 2026 11:39:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1785177591; x=1785782391; darn=vger.kernel.org; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:from:to:cc:subject :date:message-id:reply-to:content-type; bh=dc37tfIhue0wL8SZOw1sGO1g+jEfLA2LSgFTGKid14E=; b=IQ4qaW2/USSd4za6E5CMXEmlY0HBOaWvYCZYmAijRnPbAkvtDKNNr+e6SzAalNKQrF DxYt5U0OdV2hhq1T+LbsGZyQefuZCCTFOamJuvC9ihTSFhUI9GXtRtXWED6naSj5HiP1 RD1WLAta2Y7s2+tlmfFHLt1m5/e9wh28CHj5TAq0parmvqITiBU7sH9DZa+JxKtF1KMX JcHRHDOOUkebTR+iTcb6+/cnsJJcz5S0SP1axzIuh3JEtEOIHBajlkvtc/5XAVsIh+uF iQ70lo4guj4F8V/+6XhhFRQhT6NKFyXdaZRe4yaf0BmX/eNOgYVCvExwd3RVtNGXuK9+ wAPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785177591; x=1785782391; h=in-reply-to:content-disposition:content-type:mime-version :references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=dc37tfIhue0wL8SZOw1sGO1g+jEfLA2LSgFTGKid14E=; b=eOfIWq+URPCur0y+NxiIkHJArTlMM2ZXx3XoPqz/yb0IQucWRFSSkoOuq99ATXI50F NoKaN2EQtYz/dfTZyx8nMdKKOaVcnBBHQRCfS2Nkr7Qew1bNVudqRKh0msnL+a+59VFE 4sEBlv/5Xo2WxaRcyzeWzdP1lyS/O4+1gOdKMQEzo+MWMKo1M2b8e+lK2V7SaRC8YK6X yi3uB1xrmnE4IZXCAfNFXMaGmscuABtZrLG5y19djP+c2wCrznEJIsjixhKAnveTIewt ymEB97DufDhxg6sGUZ2snwq+GQoYA0RsiIEfngyxOV3sWfsBasHqhqdLZ7DIKBiigFhi pWig== X-Forwarded-Encrypted: i=1; AHgh+RoG5TC4wBv2KiyJmVbohLwobf0bG/oByHV9fxHIqsmXvL+aLeLGSDEdPthqDCPF7kOfPWu4TVw9vvrygvw=@vger.kernel.org X-Gm-Message-State: AOJu0Yww3hzrdTpH29E6ToEfaUtx5CBc49PbdtEJHciCE/Sc2k8jeP46 LG59h50ili/TZXFsT0Q76i4cjJrbGX0Wj7Tb1qgfPi1sokEMV+rtC30EtN9MDf20VEh2CrNIdAo 9EiDBqsbm3IeZJCS2YFTOYVkiliLJKudLhE6afSPEqACHHqvcjUT2FnvWdMc+yoMCyPmLlBFJ6e S6PQ== X-Gm-Gg: AR+sD10+mUHGsbj0Aj3IxSeg/7pWttdtNXJkh5hXEEaTAh1E8VkzWicmvZCLc1zAE67 lJYCq//jJU4+DchrrqkxoePziEoi12WDBrLNQQleeUDT64lN/zOcCCGBxtR4PDRyzD5R+XLkq0/ 0/rD6NTWd1Q5J8Zfbz61ULJneSda9g/1oQWyKb7z6G/bRoncCdHh1TgHDmamZ0O3VygxEF9lsEe 8RWnEcuSzlUx3tC/JMz5HiA+10+cOs8R3p/4c3cGtojQM7ZYCSZH0W3xFoJYxjgvqOev9P5dbxC NkAKq0ukqtefrfuyyleGpGOUETlDZ139W4Zyyff5AEPAMroa3vIaetVB0qN0C9vug6vLLFKwQUk JFZH/Wk1MokG14ARSZjFkB5h3Q4eTeymfkbNtEw== X-Received: by 2002:a05:6a21:339a:b0:3c3:90de:60e9 with SMTP id adf61e73a8af0-3c67dfe0e07mr11436277637.62.1785177590900; Mon, 27 Jul 2026 11:39:50 -0700 (PDT) X-Received: by 2002:a05:6a21:339a:b0:3c3:90de:60e9 with SMTP id adf61e73a8af0-3c67dfe0e07mr11436239637.62.1785177590465; Mon, 27 Jul 2026 11:39:50 -0700 (PDT) Received: from hu-pdahiwal-hyd.qualcomm.com ([202.46.23.25]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-13d130f55c6sm90229752c88.15.2026.07.27.11.39.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2026 11:39:50 -0700 (PDT) Date: Tue, 28 Jul 2026 00:09:44 +0530 From: Pradnya Dahiwale To: Bjorn Andersson , Bjorn Andersson , Mathieu Poirier , Shengjiu Wang , Fernando Guzman Lugo , Ohad Ben-Cohen Cc: linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/3] remoteproc: Prevent crash handling to race with rproc_del() Message-ID: References: <20260723-rproc-rmmod-not-crashing-v1-0-546dfd5de0e6@oss.qualcomm.com> <20260723-rproc-rmmod-not-crashing-v1-2-546dfd5de0e6@oss.qualcomm.com> 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=us-ascii Content-Disposition: inline In-Reply-To: <20260723-rproc-rmmod-not-crashing-v1-2-546dfd5de0e6@oss.qualcomm.com> X-Authority-Analysis: v=2.4 cv=eYQNubEH c=1 sm=1 tr=0 ts=6a67a5f7 cx=c_pps a=Qgeoaf8Lrialg5Z894R3/Q==:117 a=ZePRamnt/+rB5gQjfz0u9A==:17 a=kj9zAlcOel0A:10 a=RAioF0-LDSMA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=Um2Pa8k9VHT-vaBCBUpS:22 a=EUspDBNiAAAA:8 a=EbPn-TOec6_ywVBdj94A:9 a=CjuIK1q_8ugA:10 a=x9snwWr2DeNwDh03kgHS:22 X-Proofpoint-Spam-Info: AW1haW4tMjYwNzI3MDE3MiBTYWx0ZWRfX6TAM6KYtKcBN 6qJjdLjVfWrORLFQ79R/VTBnHp+pm8t5Q7wyusCZt0FFJyyOAuKAio3uXpYDCwZMUkzq+vHgGcO 3cdvVYCoTo6M0yaT9TLzeVTwLz573Ko= X-Proofpoint-ORIG-GUID: HGGlUED73zmEK9b6E3t4fY_42r6bdNX0 X-Proofpoint-GUID: HGGlUED73zmEK9b6E3t4fY_42r6bdNX0 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNzI3MDE3MiBTYWx0ZWRfXytH/qSnCv+8n gRoG53teP5HvnCBAfErTCeZEd0BrTnbI1gKHpD8UZWadhiA3Xxk8JBZvoD4vGE+otNefpESnVjb MkSdSm2rlW6fR3jK3qrFo3vyNGUWb8g/W5+8u3oyE7YTf6FblZYLjrX80ioWXLx9MUKd3L9xIIT XmP6d8/GCJaUWcwn93LK5gle5jANpi5B997G0rzZfSSIL/OjLtYp7Z9fz5ZcxCqU7yO8yG2lobu 8wTZicD9lmpl8zgQq9YBtqHatuObbo2jNTlU+vyIkMqiRUp3iNGl3FHlih1P0i7qkX8NNVODGoE SCQWikXt/eR8g3Hxv8rzr1nXHyyQLd3zEp5ASsKTsDmJZ2BfBbCeJCfFw70kPzphvlk7DDi30zn 5/9ex4cGSLCkrveadas6v0UFKpdr1wfJ8NvZQSIerHRbjHNt3p1lT1ukGqV0jmGJGSHQy4XRdU9 1r+3w2QYpg77MPFb/xA== 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-27_05,2026-07-27_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 suspectscore=0 spamscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 bulkscore=0 impostorscore=0 malwarescore=0 clxscore=1011 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2607270172 On Thu, Jul 23, 2026 at 03:52:28AM +0000, Bjorn Andersson wrote: > @@ -2598,16 +2609,21 @@ EXPORT_SYMBOL(rproc_put); > */ > int rproc_del(struct rproc *rproc) > { > + spin_lock_irqsave(&rproc->crash_handler_lock, flags); > + WRITE_ONCE(rproc->deleting, true); > + spin_unlock_irqrestore(&rproc->crash_handler_lock, flags); > + > + if (cancel_work_sync(&rproc->crash_handler)) > + pm_relax(rproc->dev.parent); > + > /* TODO: make sure this works with rproc->power > 1 */ > rproc_shutdown(rproc); rproc_del() cancels the crash-handler work here - should there also be a matching cancel_work_sync(&rproc->attach_work)? If attach_work were still pending when rproc_del() finishes and rproc_free() drops the last reference, could it later run rproc_boot() on a freed rproc? rproc_del() attach_work (still queued) | WRITE_ONCE(deleting, true) | cancel_work_sync(crash_handler) | rproc_shutdown() | device_del() | rproc_del() returns | (driver's remove path then calls) | rproc_free() attach_work runs container_of(work, rproc, attach_work) rproc_boot(rproc) <- freed rproc? The deleting check inside rproc_boot() dereferences rproc itself, so it can't guard a freed one. The request_firmware_nowait() / rproc_auto_boot_callback() path looks similar. Reviewed-by: Pradnya Dahiwale