From nobody Wed Dec 17 20:41:17 2025 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (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 0580E1E0DE8 for ; Mon, 5 May 2025 07:54:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431659; cv=none; b=AJAkE/xv8kZDIV8Xss5o6VX4TPN37NMj7Zke/av8+f9QUUaBYWcskT77SYZRmvMlcpycKugKtwtXQ8Cpa2mC8KNih0dMO/CDsiZRPfNTqd75l/ihfIJFxXwL+M0T27gPXJHVuureeL7bRw7qX3+ovNLKKl7D9wl411yWAsVkEFI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431659; c=relaxed/simple; bh=ixmeB9en8tcu1JFLNEVAPvb88wxeqTmcTMgaiO8gYY0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BR765IyHT8WIW9o2kpzdlMSDn6jbCIn+Vqgghw4dnleO8CzLEPLPxPm0OuONicsVzqcle0AiS5UFGGIKxwI6/h+Kal3Y4msDMQ/9DMIrBygJq/4dK4HldvuWRkqZWyu+Rz7UEO8DHV1NQhrO6fkLPPN6rqbXV96bYyi86HGI0eQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=rzZnNnF0; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="rzZnNnF0" Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5451k6YI023736; Mon, 5 May 2025 07:54:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=cq4PpaxegiAjIYJoq 9QwKajFWbqtgkCOCILPIYappAM=; b=rzZnNnF0jPIDd2FiRCEO00fdDmq6xG3n9 lc2750xwrEa/nMKeqOyNCaBl97QIKQNsyCp1Glrc2WVNKMSSvqGJGKYJA1+5st2f L88H6fwEAfD27Cc/jgY/kqmEm7D8z8+SKZsuvjVHRVbuMOp+LgocrE/Pvj97Mss9 zdCHEAYA0WsxBiFxvtaVBkpy+pdR6ikWxgSH4l2R9ObhxUzQz+/nXVeiKryez4Ro 2PAooWt2+VjFk3f1FqIWH+UA/yc+KLRJAsS2Tg0yyS5QTE/Nhj9GZSJd+MEf9yow 5uakAqraQ7aajhKW3NdkTcrciW6E/KMpDw4eVunZha5BnANCyZ9ug== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46e6prb46v-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:00 +0000 (GMT) Received: from m0356516.ppops.net (m0356516.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 5457rxIT010742; Mon, 5 May 2025 07:53:59 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46e6prb46q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:53:59 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5453socB032018; Mon, 5 May 2025 07:53:59 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 46dxymd4ej-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:53:58 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5457rtnJ18940240 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 5 May 2025 07:53:55 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 27DD22004B; Mon, 5 May 2025 07:53:55 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id F018920040; Mon, 5 May 2025 07:53:52 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.in.ibm.com (unknown [9.109.215.252]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 5 May 2025 07:53:52 +0000 (GMT) From: Shrikanth Hegde To: maddy@linux.ibm.com, linuxppc-dev@lists.ozlabs.org Cc: sshegde@linux.ibm.com, npiggin@gmail.com, christophe.leroy@csgroup.eu, mpe@ellerman.id.au, peterz@infradead.org, ajd@linux.ibm.com, mahesh@linux.ibm.com, hbathini@linux.ibm.com, linux-kernel@vger.kernel.org, Srikar Dronamraju Subject: [PATCH v3 1/6] powerpc: eeh: use lock guard for mutex Date: Mon, 5 May 2025 13:23:28 +0530 Message-ID: <20250505075333.184463-2-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250505075333.184463-1-sshegde@linux.ibm.com> References: <20250505075333.184463-1-sshegde@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=Cu2/cm4D c=1 sm=1 tr=0 ts=68186e98 cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=VnNF1IyMAAAA:8 a=oskV64a5kfCWcXsAF3cA:9 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-GUID: MfZq2jFJ-1EdAi3oXzvxqHAEJ0sY75Sq X-Proofpoint-ORIG-GUID: YXee3x0qhlrP4qT24js7DGfSO_cudXxI X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDA3MCBTYWx0ZWRfXzUIvQGz295cs kw/YnTkZGLA9Q3u7EaXFY2lpP3KPtW5O7S6Y/IlRSbWcLb726/vGrKbgGCXY0z6NA1Kt6DVFkbR vBYxoGeU764oBy8I6wqdc+ZOs2BSS5Q71xVJ71SqXerCD+AlYKkDQmgKCqo6PLOh0tWs++HXPiu wQmQCvbrSbceZsGXjHXhfk2Egsh+5jJ7ObekX2mnMJUU8468SsWXJxYJCFnfXyfwdM/O/w/3oyn TFsvcveBBujGD9hhpQKVWROOtTruwxuRT63lAMGkK0/PGh0XqUVye/9v0klSY4EbTolm1xQ2yGf 6IdI2h/M/onbUiLXGIN3RuACvAEzgkTWu5noumJo6S2yUi/eJSNqfzep5PjhTv8fop1dA46iREi dU23AgBts+Cqg2RVUvw6VlUZyoZ0UGuRfeHkJGofrrnu3k/cqDY2Aa00NtKcVpFpHxF9FVHb X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-05_03,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 mlxscore=0 spamscore=0 mlxlogscore=857 malwarescore=0 phishscore=0 adultscore=0 impostorscore=0 bulkscore=0 priorityscore=1501 lowpriorityscore=0 suspectscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050070 Content-Type: text/plain; charset="utf-8" use guard(mutex) for scope based resource management of mutex. This would make the code simpler and easier to maintain. More details on lock guards can be found at https://lore.kernel.org/all/20230612093537.614161713@infradead.org/T/#u Reviewed-by: Srikar Dronamraju Signed-off-by: Shrikanth Hegde Tested-by: Venkat Rao Bagalkote --- arch/powerpc/kernel/eeh.c | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c index 83fe99861eb1..929474c0ec77 100644 --- a/arch/powerpc/kernel/eeh.c +++ b/arch/powerpc/kernel/eeh.c @@ -1208,16 +1208,16 @@ int eeh_dev_open(struct pci_dev *pdev) struct eeh_dev *edev; int ret =3D -ENODEV; =20 - mutex_lock(&eeh_dev_mutex); + guard(mutex)(&eeh_dev_mutex); =20 /* No PCI device ? */ if (!pdev) - goto out; + return ret; =20 /* No EEH device or PE ? */ edev =3D pci_dev_to_eeh_dev(pdev); if (!edev || !edev->pe) - goto out; + return ret; =20 /* * The PE might have been put into frozen state, but we @@ -1227,16 +1227,12 @@ int eeh_dev_open(struct pci_dev *pdev) */ ret =3D eeh_pe_change_owner(edev->pe); if (ret) - goto out; + return ret; =20 /* Increase PE's pass through count */ atomic_inc(&edev->pe->pass_dev_cnt); - mutex_unlock(&eeh_dev_mutex); =20 return 0; -out: - mutex_unlock(&eeh_dev_mutex); - return ret; } EXPORT_SYMBOL_GPL(eeh_dev_open); =20 @@ -1252,22 +1248,20 @@ void eeh_dev_release(struct pci_dev *pdev) { struct eeh_dev *edev; =20 - mutex_lock(&eeh_dev_mutex); + guard(mutex)(&eeh_dev_mutex); =20 /* No PCI device ? */ if (!pdev) - goto out; + return; =20 /* No EEH device ? */ edev =3D pci_dev_to_eeh_dev(pdev); if (!edev || !edev->pe || !eeh_pe_passed(edev->pe)) - goto out; + return; =20 /* Decrease PE's pass through count */ WARN_ON(atomic_dec_if_positive(&edev->pe->pass_dev_cnt) < 0); eeh_pe_change_owner(edev->pe); -out: - mutex_unlock(&eeh_dev_mutex); } EXPORT_SYMBOL(eeh_dev_release); =20 --=20 2.39.3 From nobody Wed Dec 17 20:41:17 2025 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (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 057B02AD02 for ; Mon, 5 May 2025 07:54:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431659; cv=none; b=ajq2H/N33CFt7zpvImpjS5+KPhgrM5GTsiS56EDbMDHl9VbdfOtAsikcErqh4TleTWZuKA+a9a+97ecjN3dydnjGIG8zYwGQcikPuNVT5RaZ/WVmm+8v2lv9Tz+j6I557XKTa7gQJNo152o3GykDJ5ZLpYTwP0CmRoAP+QawtO8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431659; c=relaxed/simple; bh=ZAkP+L3kSTTWqd/qnNrx/C7vPHldibbBcxMjAc6cihU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=T8MMFUDq0FrosPZNyWGZd83YpS7/YRa+YNy7BM/JTwCsTo3LzjF0Zi9SO9MsPTB0c35QV7bVxYC7JQ0oF2eZ7NGP9qA/mxaSRqxePPniPM2oiU522+I/ndDnA86UstQFWAGLhq9QLCQFdecxXz6qtae4hl9XoMIL6dYyZ9rBOio= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=hmxpujyn; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="hmxpujyn" Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 5450Lt5e001204; Mon, 5 May 2025 07:54:03 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=NPinY9SWU/ee+3fIr z7XxUVDSyaoAqVvptH07eohCDs=; b=hmxpujynEfv0dKg7T1hQ2F7EbGO5tljFZ HzJQ8KjpMGLyZcZu8KI+c82315VjglIFoMqbzR8hJimlsagzHQX+PlyWY+YIRvxn xN7eA3scASgwmJfCkawcoAaYW+1gI0v5anifS3in0ejTQ07hwInRlIP+Ac1m4D/q mUa/OOx5Y5vhbSZkOG5QjzjzAW1enchr4AXeGkUjGLGtnh8S63i6stEPm48F8eVW h430XVIF6gb2izNZS3Gx3MkQjHrDPPHC+/Sie82+H85JbX656T5MCqYTmMbB9lzo bUV76kIvXoK6ecgjTCWXVoqoqQcJyqWkiLuy7HWpbmdsmwmLO59AQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46egcv1pnj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:03 +0000 (GMT) Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 5457s3EJ009468; Mon, 5 May 2025 07:54:03 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46egcv1pnd-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:03 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5457bA5F025798; Mon, 5 May 2025 07:54:02 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 46dwuynbgk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:02 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5457rw0K45613348 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 5 May 2025 07:53:58 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 8ABE120043; Mon, 5 May 2025 07:53:58 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5FD3320040; Mon, 5 May 2025 07:53:56 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.in.ibm.com (unknown [9.109.215.252]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 5 May 2025 07:53:56 +0000 (GMT) From: Shrikanth Hegde To: maddy@linux.ibm.com, linuxppc-dev@lists.ozlabs.org Cc: sshegde@linux.ibm.com, npiggin@gmail.com, christophe.leroy@csgroup.eu, mpe@ellerman.id.au, peterz@infradead.org, ajd@linux.ibm.com, mahesh@linux.ibm.com, hbathini@linux.ibm.com, linux-kernel@vger.kernel.org, Srikar Dronamraju Subject: [PATCH v3 2/6] powerpc: rtas: use lock guard for mutex Date: Mon, 5 May 2025 13:23:29 +0530 Message-ID: <20250505075333.184463-3-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250505075333.184463-1-sshegde@linux.ibm.com> References: <20250505075333.184463-1-sshegde@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: 4HDF4L-lSy4qP-TFiQP88WM2ogPnKmBW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDA3MCBTYWx0ZWRfX6ghuW/Kv5mM2 sGyS/iMjM6g3nMBeDbxMJcZ7GIcbfv0B59Y2+coGCeiMaWq1fRvAh9/dBEQKmsqkMEZepnj+wav FdW3HnPq5TP+Dp5SHEMA6QzuS+aO0q02poyTPprecq53mr/iyfUhoy4uIB8+xX+PUlhy85cDgNO qSR6XgFl6wsh2uM21ALqsqW1s2pKgX6oXdC7kB+x3qwZQc7LhP/763QMAf4EKD8TlZx2nqVwnqU akhhusFF8APLABd7AwJnRaAHJw236Uou3BJvwYnVaVF8JjsUhu4AmNXEdEqX7n7Lfw2QwO6eiMI UibIjlbbvD1SJo2JhEFNB8V+Eeff88noxL40PoZG/0CLMYQujD5U5WrxoHmSt73qOPl+8vrEJEU z1C6vb8FssUSvPzVO71i5dyfwz4lvMj9FErrsl0SrOLKW0DDLGNbFAGQ4o3XgfNEQCKMPAHK X-Authority-Analysis: v=2.4 cv=O7k5vA9W c=1 sm=1 tr=0 ts=68186e9b cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=VnNF1IyMAAAA:8 a=OdULV7RJbOULiY8P7fIA:9 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-GUID: ltOn1sfTTvZKo7nz7YaoKvsGFJvl7jXC X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-05_03,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxlogscore=999 malwarescore=0 spamscore=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 clxscore=1015 mlxscore=0 adultscore=0 phishscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050070 Content-Type: text/plain; charset="utf-8" use guard(mutex) for scope based resource management of mutex. This would make the code simpler and easier to maintain. More details on lock guards can be found at https://lore.kernel.org/all/20230612093537.614161713@infradead.org/T/#u Reviewed-by: Srikar Dronamraju Signed-off-by: Shrikanth Hegde Tested-by: Venkat Rao Bagalkote --- arch/powerpc/kernel/rtas_flash.c | 64 ++++++++++---------------------- 1 file changed, 20 insertions(+), 44 deletions(-) diff --git a/arch/powerpc/kernel/rtas_flash.c b/arch/powerpc/kernel/rtas_fl= ash.c index 5407024881e5..583dc16e9d3c 100644 --- a/arch/powerpc/kernel/rtas_flash.c +++ b/arch/powerpc/kernel/rtas_flash.c @@ -312,13 +312,13 @@ static ssize_t rtas_flash_write(struct file *file, co= nst char __user *buffer, { struct rtas_update_flash_t *const uf =3D &rtas_update_flash_data; char *p; - int next_free, rc; + int next_free; struct flash_block_list *fl; =20 - mutex_lock(&rtas_update_flash_mutex); + guard(mutex)(&rtas_update_flash_mutex); =20 if (uf->status =3D=3D FLASH_AUTH || count =3D=3D 0) - goto out; /* discard data */ + return count; /* discard data */ =20 /* In the case that the image is not ready for flashing, the memory * allocated for the block list will be freed upon the release of the=20 @@ -327,7 +327,7 @@ static ssize_t rtas_flash_write(struct file *file, cons= t char __user *buffer, if (uf->flist =3D=3D NULL) { uf->flist =3D kmem_cache_zalloc(flash_block_cache, GFP_KERNEL); if (!uf->flist) - goto nomem; + return -ENOMEM; } =20 fl =3D uf->flist; @@ -338,7 +338,7 @@ static ssize_t rtas_flash_write(struct file *file, cons= t char __user *buffer, /* Need to allocate another block_list */ fl->next =3D kmem_cache_zalloc(flash_block_cache, GFP_KERNEL); if (!fl->next) - goto nomem; + return -ENOMEM; fl =3D fl->next; next_free =3D 0; } @@ -347,25 +347,17 @@ static ssize_t rtas_flash_write(struct file *file, co= nst char __user *buffer, count =3D RTAS_BLK_SIZE; p =3D kmem_cache_zalloc(flash_block_cache, GFP_KERNEL); if (!p) - goto nomem; + return -ENOMEM; =09 if(copy_from_user(p, buffer, count)) { kmem_cache_free(flash_block_cache, p); - rc =3D -EFAULT; - goto error; + return -EFAULT; } fl->blocks[next_free].data =3D p; fl->blocks[next_free].length =3D count; fl->num_blocks++; -out: - mutex_unlock(&rtas_update_flash_mutex); - return count; =20 -nomem: - rc =3D -ENOMEM; -error: - mutex_unlock(&rtas_update_flash_mutex); - return rc; + return count; } =20 /* @@ -405,19 +397,18 @@ static ssize_t manage_flash_write(struct file *file, = const char __user *buf, static const char reject_str[] =3D "0"; static const char commit_str[] =3D "1"; char stkbuf[10]; - int op, rc; + int op; =20 - mutex_lock(&rtas_manage_flash_mutex); + guard(mutex)(&rtas_manage_flash_mutex); =20 if ((args_buf->status =3D=3D MANAGE_AUTH) || (count =3D=3D 0)) - goto out; + return count; =09 op =3D -1; if (buf) { if (count > 9) count =3D 9; - rc =3D -EFAULT; if (copy_from_user (stkbuf, buf, count)) - goto error; + return -EFAULT; if (strncmp(stkbuf, reject_str, strlen(reject_str)) =3D=3D 0)=20 op =3D RTAS_REJECT_TMP_IMG; else if (strncmp(stkbuf, commit_str, strlen(commit_str)) =3D=3D 0)=20 @@ -425,18 +416,11 @@ static ssize_t manage_flash_write(struct file *file, = const char __user *buf, } =09 if (op =3D=3D -1) { /* buf is empty, or contains invalid string */ - rc =3D -EINVAL; - goto error; + return -EINVAL; } =20 manage_flash(args_buf, op); -out: - mutex_unlock(&rtas_manage_flash_mutex); return count; - -error: - mutex_unlock(&rtas_manage_flash_mutex); - return rc; } =20 /* @@ -499,16 +483,14 @@ static ssize_t validate_flash_write(struct file *file= , const char __user *buf, { struct rtas_validate_flash_t *const args_buf =3D &rtas_validate_flash_data; - int rc; =20 - mutex_lock(&rtas_validate_flash_mutex); + guard(mutex)(&rtas_validate_flash_mutex); =20 /* We are only interested in the first 4K of the * candidate image */ if ((*off >=3D VALIDATE_BUF_SIZE) ||=20 (args_buf->status =3D=3D VALIDATE_AUTH)) { *off +=3D count; - mutex_unlock(&rtas_validate_flash_mutex); return count; } =20 @@ -519,20 +501,14 @@ static ssize_t validate_flash_write(struct file *file= , const char __user *buf, args_buf->status =3D VALIDATE_INCOMPLETE; } =20 - if (!access_ok(buf, count)) { - rc =3D -EFAULT; - goto done; - } - if (copy_from_user(args_buf->buf + *off, buf, count)) { - rc =3D -EFAULT; - goto done; - } + if (!access_ok(buf, count)) + return -EFAULT; + + if (copy_from_user(args_buf->buf + *off, buf, count)) + return -EFAULT; =20 *off +=3D count; - rc =3D count; -done: - mutex_unlock(&rtas_validate_flash_mutex); - return rc; + return count; } =20 static int validate_flash_release(struct inode *inode, struct file *file) --=20 2.39.3 From nobody Wed Dec 17 20:41:17 2025 Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (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 AC0C81E1A3D for ; Mon, 5 May 2025 07:54:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431662; cv=none; b=lRNNx7F5ToH7oZdvpy7tYalkum8HxxgZb5rfu10NCbnXz58w8ZORAfsqWZV6xGjqBcHhhqRtF7qejaAk42hJ1XRbyN93wYxkv/+rai53ZIYwffI+ATbrOmKvVLra0H3VvyZU46/cWvE3PCmcWXyI+ujnkn0ObtXvmBKCjTThtzM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431662; c=relaxed/simple; bh=g1hYJuDYMuiFu/5q2bw+kLYLPNqgFWVqNLve7lYpB8s=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UAys5VQq8g8K8q+0dJzNEmQovoW3GC3OY45a9Qxy55Zf6rSu7resDJoUykeiUFrZyr+A3l3oG60MsayrygtS5rkJpVUr7aOTCjMGrGSN7+Z9I2WhQ4ERKO9V2+tzvz3OYS2cNBSVZPmG4MtFU2xkcOl6+4DHgGuhMWmRc5mX4qI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=ryOO+MLR; arc=none smtp.client-ip=148.163.156.1 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="ryOO+MLR" Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544Ldtip013927; Mon, 5 May 2025 07:54:07 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=OqAhgP8FWBlXmf8nF 2v4BPjYZCHOc6b7lDMnCVmQOZo=; b=ryOO+MLREZm060gT6CQkIGtzaIc/tsrYZ pTBRZCQxW/xoEg2oJkgOga9Djjn0m8pxHleT5A6PDJIFS4iS189Uh3raYlCpFAGq jaRJx897jXaoH8OhUrmlIoIdfAy+7ioN7x7ba4xT6Rus0T4C7AdbFlkf1lu9H0pF j5aQMO0F69LqibYtyssijfO6/cJ7sTAL8huixtJEIc3LK6hyA+YF7LHH15N+r3Gb T/25FrL0WrCUWxVSQ6I/w9uuwLgj5Y1r9b2ZQJjGGdntBt0V1AkVNxaZ+SS4B+9e 3bX9aC848FcuNqUlRylUYIjDIvVfBpxT2MBBU2OWOtqhB5T6p8jeQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46egb7sr3t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:07 +0000 (GMT) Received: from m0356517.ppops.net (m0356517.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 5457lvb1015756; Mon, 5 May 2025 07:54:07 GMT Received: from ppma21.wdc07v.mail.ibm.com (5b.69.3da9.ip4.static.sl-reverse.com [169.61.105.91]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46egb7sr3n-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:06 +0000 (GMT) Received: from pps.filterd (ppma21.wdc07v.mail.ibm.com [127.0.0.1]) by ppma21.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5453EFlB002713; Mon, 5 May 2025 07:54:05 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma21.wdc07v.mail.ibm.com (PPS) with ESMTPS id 46dxfnn832-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:05 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5457s1Le50069912 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 5 May 2025 07:54:01 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C362020043; Mon, 5 May 2025 07:54:01 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9066720040; Mon, 5 May 2025 07:53:59 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.in.ibm.com (unknown [9.109.215.252]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 5 May 2025 07:53:59 +0000 (GMT) From: Shrikanth Hegde To: maddy@linux.ibm.com, linuxppc-dev@lists.ozlabs.org Cc: sshegde@linux.ibm.com, npiggin@gmail.com, christophe.leroy@csgroup.eu, mpe@ellerman.id.au, peterz@infradead.org, ajd@linux.ibm.com, mahesh@linux.ibm.com, hbathini@linux.ibm.com, linux-kernel@vger.kernel.org, Srikar Dronamraju Subject: [PATCH v3 3/6] powerpc: fadump: use lock guard for mutex Date: Mon, 5 May 2025 13:23:30 +0530 Message-ID: <20250505075333.184463-4-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250505075333.184463-1-sshegde@linux.ibm.com> References: <20250505075333.184463-1-sshegde@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-GUID: WCnN3m6NyGpt-ZNmy6anH3a-MhMpyHca X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDA3MCBTYWx0ZWRfXwbFSG1kvXsC5 TjLE9qbWti8tDJ4Uqf4zaIH/IKw2qbTkW1FH8rJUEj2Mjv5elQ/WZl4Q315YonRZdFu2ibTu3Kx kwtT84NLxWYhK26TyUiIKnqRCpj6kQZKYS7M76E9mPEk2z5k80OXL7WB7BplPMJfSd4EZFoWb3e 34p+ghlQESirdtyEJH+w6gM33B6r8VAQjRyINnvyI5L1DMjDjnGIQwzvzrpMollysLY43i8MuzU nrPxrIMdSFKqtxD/Ps+q0Bu3PBGFfWgV1g9A5Lfl90gHzPhiADvACr6PUDhZvmCer5pp7/r0ApB Ub5OF71gqzmvXRuUXXJ+yuvT9WMJ4wNhUTlxm6rBBYPnpOkbnnvc3dEvajY797awl3KiRmnQMud LX1iFk0+OCsU7JNLHIhV9ZCxQ4X7r7hBNcm1zCdPRXtN5oobSwJ1j3Gw6+NhNh7Y4ZTr3HxX X-Authority-Analysis: v=2.4 cv=YcK95xRf c=1 sm=1 tr=0 ts=68186e9f cx=c_pps a=GFwsV6G8L6GxiO2Y/PsHdQ==:117 a=GFwsV6G8L6GxiO2Y/PsHdQ==:17 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=VnNF1IyMAAAA:8 a=WIUl_hUChEs9ptHD0HQA:9 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-ORIG-GUID: 3v_uOT5hiA-TuCE7Z1T_UDbXXHkLZD9R X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-05_03,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 adultscore=0 malwarescore=0 impostorscore=0 bulkscore=0 lowpriorityscore=0 mlxlogscore=768 suspectscore=0 phishscore=0 spamscore=0 mlxscore=0 clxscore=1015 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050070 Content-Type: text/plain; charset="utf-8" use scoped_guard for scope based resource management of mutex. This would make the code simpler and easier to maintain. More details on lock guards can be found at https://lore.kernel.org/all/20230612093537.614161713@infradead.org/T/#u Reviewed-by: Srikar Dronamraju Signed-off-by: Shrikanth Hegde Reviewed-by: Sourabh Jain Tested-by: Venkat Rao Bagalkote --- arch/powerpc/kernel/fadump.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c index df16c7f547ab..b8c7993c5bb1 100644 --- a/arch/powerpc/kernel/fadump.c +++ b/arch/powerpc/kernel/fadump.c @@ -1375,15 +1375,12 @@ static void fadump_free_elfcorehdr_buf(void) =20 static void fadump_invalidate_release_mem(void) { - mutex_lock(&fadump_mutex); - if (!fw_dump.dump_active) { - mutex_unlock(&fadump_mutex); - return; + scoped_guard(mutex, &fadump_mutex) { + if (!fw_dump.dump_active) + return; + fadump_cleanup(); } =20 - fadump_cleanup(); - mutex_unlock(&fadump_mutex); - fadump_free_elfcorehdr_buf(); fadump_release_memory(fw_dump.boot_mem_top, memblock_end_of_DRAM()); fadump_free_cpu_notes_buf(); --=20 2.39.3 From nobody Wed Dec 17 20:41:17 2025 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (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 AD3531E8336 for ; Mon, 5 May 2025 07:54:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431666; cv=none; b=h7UNt/ZTwQ8mS78TYwgwKj0Q7VGRbsN76c2c5bNnJWLB+th+O/SsULQB5E0j+BkEp0cVUZgaEMwJvGX7KBKcvna+wfK8WS8eqET5ZlrOXf3/IanacFYDFGmfmxLKlFSfZ205HFD7e9+06XK63a1it/W0T0obfVk/rS85YkrHfcw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431666; c=relaxed/simple; bh=9DcyqfGZ6RX6upf8ENBwjsVy5lZthPLmqytnwAyBEX0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oqdAyODhxvq1s8vBgzLTmXzzWic5/SVdedSbZNBKcV6QUTLlTX9SP+6EEwrwNfMIL0yqk+3K3iqmevOg28GkbxEw+EFWO0OExMrjnj+Ll2Mn0bj/Y2+sqUq0a7B1bcXWXtTxPKv848/WRKizFM8/qhs01c3L093MFi87gheFOs0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=iW7XEqR4; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="iW7XEqR4" Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544NnXgK009887; Mon, 5 May 2025 07:54:10 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=OK7cVIxBR3pTlvjS5 NsZDFZUqX7DAWXhiplm2G+4ffg=; b=iW7XEqR4ajEDb6lihrQ3KKbWS6xkryL+M tYHoHiXrUrsrsom/hqzVdfRntS4ul3Y06obOgLiyEloL0sOiRzoF6uYJvlRSrbVa N8euPsF6UyRNILZqnIctG3vvUjS1WQSzGHXtKpNQWu3BlyDNXXMvYTZWOXdHunyh stAvfStxCZ8COOlWp/EZXmMPfmnI1ccvLUibXxIbaT1WAUxmbZ7KDe9Lq5PB008t mMXjzZj2WBFQtnoUiTNYbOwlZ5cNULPFdnd1agVUTMvmLP3OrrEE0HqRe8LoCl/O w0kk+zyi8RKWrmcWYb9oaDVuStLbRChBYD9EaTSS3dVGCs5n+ME4A== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46ej6ysedf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:10 +0000 (GMT) Received: from m0353725.ppops.net (m0353725.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 5457p51d010075; Mon, 5 May 2025 07:54:09 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46ej6yseda-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:09 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5454106u032227; Mon, 5 May 2025 07:54:09 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 46dxymd4f4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:08 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5457s5Ag53084532 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 5 May 2025 07:54:05 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1A0532004D; Mon, 5 May 2025 07:54:05 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E14FF20040; Mon, 5 May 2025 07:54:02 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.in.ibm.com (unknown [9.109.215.252]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 5 May 2025 07:54:02 +0000 (GMT) From: Shrikanth Hegde To: maddy@linux.ibm.com, linuxppc-dev@lists.ozlabs.org Cc: sshegde@linux.ibm.com, npiggin@gmail.com, christophe.leroy@csgroup.eu, mpe@ellerman.id.au, peterz@infradead.org, ajd@linux.ibm.com, mahesh@linux.ibm.com, hbathini@linux.ibm.com, linux-kernel@vger.kernel.org, Srikar Dronamraju Subject: [PATCH v3 4/6] powerpc: book3s: vas: use lock guard for mutex Date: Mon, 5 May 2025 13:23:31 +0530 Message-ID: <20250505075333.184463-5-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250505075333.184463-1-sshegde@linux.ibm.com> References: <20250505075333.184463-1-sshegde@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: AHgX7C-qdgG1DTp7Wq3eVJl_X5xsqD_K X-Authority-Analysis: v=2.4 cv=GKAIEvNK c=1 sm=1 tr=0 ts=68186ea2 cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=VnNF1IyMAAAA:8 a=2UBO4GguT1_OiFKDpwgA:9 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-GUID: QqDmYpTXHRza-1ABTq5DZ8LtwC-N1KxA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDA3MCBTYWx0ZWRfX23qefl6SUD/f wWWS+cyrIWHMMuxqfKWR5sb+91iumax9aG0xXmPbpS/Nu+0O906ReaUQnvniVLAm3ormCtCHfti tpgQgAZJC1uxZghsTmpx1FGvlQU5W/1hndufsFcCgT+Fo8OMVC8/65wkXZXCXFwGRbvcr6UGYEl O+aTSgXIPksT8lHA4fQB8+GGmrotpwLpf/MS1ywZ0y6lQNLWTk/YkM0Ka34WLF0sP040CdRXkw5 eA0O8HY2VwEQ5PYzK0Xy7T3ipVnkS2J+FAXVH0kLCS9f4cdjG4+WAO6FOrwHK5QzC4ZYnwg6Gek yXBe84jcaWNP9/af9PNFqraaPWtgM1SwVcbbQ+JEfAaZZ1kiQ9QBrm/7QS/15Q2jVK2KPxfqPp/ 9XZEojFwF7YgUtlXm09g6ULotjTtkM2sbXPBLssv0UR8g8qdXQL8+TqDXSGOyU5bFk1DdsI9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-05_03,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 mlxscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 mlxlogscore=835 adultscore=0 clxscore=1015 phishscore=0 spamscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050070 Content-Type: text/plain; charset="utf-8" use lock guards for scope based resource management of mutex. This would make the code simpler and easier to maintain. More details on lock guards can be found at https://lore.kernel.org/all/20230612093537.614161713@infradead.org/T/#u This shows the use of both guard and scoped_guard Reviewed-by: Srikar Dronamraju Signed-off-by: Shrikanth Hegde Tested-by: Venkat Rao Bagalkote --- arch/powerpc/platforms/book3s/vas-api.c | 32 ++++++++++--------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/arch/powerpc/platforms/book3s/vas-api.c b/arch/powerpc/platfor= ms/book3s/vas-api.c index 0b6365d85d11..d7462c16d828 100644 --- a/arch/powerpc/platforms/book3s/vas-api.c +++ b/arch/powerpc/platforms/book3s/vas-api.c @@ -425,23 +425,22 @@ static vm_fault_t vas_mmap_fault(struct vm_fault *vmf) return VM_FAULT_SIGBUS; } =20 - mutex_lock(&txwin->task_ref.mmap_mutex); /* * The window may be inactive due to lost credit (Ex: core * removal with DLPAR). If the window is active again when * the credit is available, map the new paste address at the * window virtual address. */ - if (txwin->status =3D=3D VAS_WIN_ACTIVE) { - paste_addr =3D cp_inst->coproc->vops->paste_addr(txwin); - if (paste_addr) { - fault =3D vmf_insert_pfn(vma, vma->vm_start, - (paste_addr >> PAGE_SHIFT)); - mutex_unlock(&txwin->task_ref.mmap_mutex); - return fault; + scoped_guard(mutex, &txwin->task_ref.mmap_mutex) { + if (txwin->status =3D=3D VAS_WIN_ACTIVE) { + paste_addr =3D cp_inst->coproc->vops->paste_addr(txwin); + if (paste_addr) { + fault =3D vmf_insert_pfn(vma, vma->vm_start, + (paste_addr >> PAGE_SHIFT)); + return fault; + } } } - mutex_unlock(&txwin->task_ref.mmap_mutex); =20 /* * Received this fault due to closing the actual window. @@ -494,9 +493,8 @@ static void vas_mmap_close(struct vm_area_struct *vma) return; } =20 - mutex_lock(&txwin->task_ref.mmap_mutex); - txwin->task_ref.vma =3D NULL; - mutex_unlock(&txwin->task_ref.mmap_mutex); + scoped_guard(mutex, &txwin->task_ref.mmap_mutex) + txwin->task_ref.vma =3D NULL; } =20 static const struct vm_operations_struct vas_vm_ops =3D { @@ -543,18 +541,16 @@ static int coproc_mmap(struct file *fp, struct vm_are= a_struct *vma) * close/open event and allows mmap() only when the window is * active. */ - mutex_lock(&txwin->task_ref.mmap_mutex); + guard(mutex)(&txwin->task_ref.mmap_mutex); if (txwin->status !=3D VAS_WIN_ACTIVE) { pr_err("Window is not active\n"); - rc =3D -EACCES; - goto out; + return -EACCES; } =20 paste_addr =3D cp_inst->coproc->vops->paste_addr(txwin); if (!paste_addr) { pr_err("Window paste address failed\n"); - rc =3D -EINVAL; - goto out; + return -EINVAL; } =20 pfn =3D paste_addr >> PAGE_SHIFT; @@ -574,8 +570,6 @@ static int coproc_mmap(struct file *fp, struct vm_area_= struct *vma) txwin->task_ref.vma =3D vma; vma->vm_ops =3D &vas_vm_ops; =20 -out: - mutex_unlock(&txwin->task_ref.mmap_mutex); return rc; } =20 --=20 2.39.3 From nobody Wed Dec 17 20:41:17 2025 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (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 4DB6F1E9B3B for ; Mon, 5 May 2025 07:54:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431669; cv=none; b=cy4NOGdrgtPOFRmi+Vm+owW+TII03k8sr+bj18CfO/mMz9LysmJEiTfWq5PK46/C4IAxdeOoWMlzDRnB3JE+CfEo3oL2cGr7EUV7HDRNHeMqXpcm3thpVClsHzb8mFMYqMpbtd7p5DBErbs0cI8hwAmdPOua0BVfXcPsCGd+fNg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431669; c=relaxed/simple; bh=pLrj10XVpmvCeQlqS1YDo65wb7GhRdMdufzTrwu5EhY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=WvNWlihSCZLpERCv/lkQlY0OCcmd784rIA6k+Eg3x295rUIPvA39QDP7wHMOjxhBYE/pMeXH8fMU1WrcJL6NZKfkAseH3eYxQVSol2LK/rqjgKcDSzQsPeRmKkEBggL0P+L18WUUc/y0MWxbbPqHM+6MTi6WRbM3TyY0pucfZv4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=hLYZwtdw; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="hLYZwtdw" Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544Lh9VZ008512; Mon, 5 May 2025 07:54:13 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=g18/V1GPRXjmw65jY DlbKsnidaE5pfNS8dR6suKV/iU=; b=hLYZwtdwA1aIJKSvYFEBjM4s1HPaAbbMC JwQVqXoeCMy3Nvo1AVatEAKextvF8vX1CVb1LF+ku5pWVCDPKzlSf1XvqCdnP4ZO eimhqZaTbi1SrxGJ533ZK9OcnU5c1vI7YZcZ7JBs7FbXxcXDbkmgWoOelZ9M/Dpz sEuv0wDDwxP20xCUe9AWJsTrS2tJKO5aF8MtwNGtgya+og1z03Jwzm/rxNRoFkqp yz1xY8PkNohnuzXUzFq7RMoFAXzmoe/fYrwNXPNR5+7fcNgFM/ZNzQSd2Mvnm3XY 4xQNbAdDke5bzxOJEq46FcZ2uUr9/Vw2Mop/HyjU8mtfQqtv1Oq0A== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46egcv1pp8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:13 +0000 (GMT) Received: from m0360072.ppops.net (m0360072.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 5457sCwm009686; Mon, 5 May 2025 07:54:12 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46egcv1pp4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:12 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5455LKUg013765; Mon, 5 May 2025 07:54:11 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 46e0624v9d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:11 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5457s8rY53412264 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 5 May 2025 07:54:08 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 45A1120043; Mon, 5 May 2025 07:54:08 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1985A20040; Mon, 5 May 2025 07:54:06 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.in.ibm.com (unknown [9.109.215.252]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 5 May 2025 07:54:05 +0000 (GMT) From: Shrikanth Hegde To: maddy@linux.ibm.com, linuxppc-dev@lists.ozlabs.org Cc: sshegde@linux.ibm.com, npiggin@gmail.com, christophe.leroy@csgroup.eu, mpe@ellerman.id.au, peterz@infradead.org, ajd@linux.ibm.com, mahesh@linux.ibm.com, hbathini@linux.ibm.com, linux-kernel@vger.kernel.org, Srikar Dronamraju Subject: [PATCH v3 5/6] powerpc: powernv: ocxl: use lock guard for mutex Date: Mon, 5 May 2025 13:23:32 +0530 Message-ID: <20250505075333.184463-6-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250505075333.184463-1-sshegde@linux.ibm.com> References: <20250505075333.184463-1-sshegde@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: nzPlUvyNWAh3fWyh8rGkE3urckNKzglF X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDA3MCBTYWx0ZWRfX+XCRoWtFRCXP tMggtIN2qkZfJwJOuG+MMjobjoN+6lCVaLNrKluDYhylrb920YyydpYFKKNYfpuiyrzFPjMFxA5 +IvXaOWVe87WaBHp1aqvO9oVSjnA+oL+GN/QBce7AKBhGzufXZp1mYTWWQ9mFzrLby0sPKz22w+ UCdgiJHHAZ5cdUqB2QDS9BStST5x5D64xt0tpKgttWszsVa+sYlRohou//zNtXT6qJAtET6x8cY AcLUvIteSGBejxGdLWCqdh5YsxtkXikO4bzdsd+NjS8H6Tnw2dPf41TLHFflp1D8GOLGiMBp6f6 Vzo2/RAKr0p7e832J/KQC8CxjwpdqoUnOS/O3JJUYSz7J9w+Z/+MDDje2/lOgUqk37FoW6WeXNM nl035uv8wgKS1C4CfNYIrj5ks992O2+K96sw5PLX52Gryqqv8octXjVHj8or94hNSzMhert7 X-Authority-Analysis: v=2.4 cv=O7k5vA9W c=1 sm=1 tr=0 ts=68186ea5 cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=VnNF1IyMAAAA:8 a=Gcc4__3hugxbekPXFGEA:9 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-GUID: 81p-2ThKUZcSUOoQVy-dUOe7zEz6sZjK X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-05_03,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 mlxlogscore=893 malwarescore=0 spamscore=0 impostorscore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 clxscore=1015 mlxscore=0 adultscore=0 phishscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050070 Content-Type: text/plain; charset="utf-8" use guard(mutex) for scope based resource management of mutex. This would make the code simpler and easier to maintain. More details on lock guards can be found at https://lore.kernel.org/all/20230612093537.614161713@infradead.org/T/#u Reviewed-by: Srikar Dronamraju Acked-by: Andrew Donnellan Signed-off-by: Shrikanth Hegde Tested-by: Venkat Rao Bagalkote --- arch/powerpc/platforms/powernv/ocxl.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/arch/powerpc/platforms/powernv/ocxl.c b/arch/powerpc/platforms= /powernv/ocxl.c index 64a9c7125c29..f8139948348e 100644 --- a/arch/powerpc/platforms/powernv/ocxl.c +++ b/arch/powerpc/platforms/powernv/ocxl.c @@ -172,12 +172,11 @@ static void pnv_ocxl_fixup_actag(struct pci_dev *dev) if (phb->type !=3D PNV_PHB_NPU_OCAPI) return; =20 - mutex_lock(&links_list_lock); + guard(mutex)(&links_list_lock); =20 link =3D find_link(dev); if (!link) { dev_warn(&dev->dev, "couldn't update actag information\n"); - mutex_unlock(&links_list_lock); return; } =20 @@ -206,7 +205,6 @@ static void pnv_ocxl_fixup_actag(struct pci_dev *dev) dev_dbg(&dev->dev, "total actags for function: %d\n", link->fn_desired_actags[PCI_FUNC(dev->devfn)]); =20 - mutex_unlock(&links_list_lock); } DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pnv_ocxl_fixup_actag); =20 @@ -253,12 +251,11 @@ int pnv_ocxl_get_actag(struct pci_dev *dev, u16 *base= , u16 *enabled, { struct npu_link *link; =20 - mutex_lock(&links_list_lock); + guard(mutex)(&links_list_lock); =20 link =3D find_link(dev); if (!link) { dev_err(&dev->dev, "actag information not found\n"); - mutex_unlock(&links_list_lock); return -ENODEV; } /* @@ -274,7 +271,6 @@ int pnv_ocxl_get_actag(struct pci_dev *dev, u16 *base, = u16 *enabled, *enabled =3D link->fn_actags[PCI_FUNC(dev->devfn)].count; *supported =3D link->fn_desired_actags[PCI_FUNC(dev->devfn)]; =20 - mutex_unlock(&links_list_lock); return 0; } EXPORT_SYMBOL_GPL(pnv_ocxl_get_actag); @@ -293,12 +289,11 @@ int pnv_ocxl_get_pasid_count(struct pci_dev *dev, int= *count) * * We only support one AFU-carrying function for now. */ - mutex_lock(&links_list_lock); + guard(mutex)(&links_list_lock); =20 link =3D find_link(dev); if (!link) { dev_err(&dev->dev, "actag information not found\n"); - mutex_unlock(&links_list_lock); return -ENODEV; } =20 @@ -309,7 +304,6 @@ int pnv_ocxl_get_pasid_count(struct pci_dev *dev, int *= count) break; } =20 - mutex_unlock(&links_list_lock); dev_dbg(&dev->dev, "%d PASIDs available for function\n", rc ? 0 : *count); return rc; --=20 2.39.3 From nobody Wed Dec 17 20:41:17 2025 Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) (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 EFE481DC98B for ; Mon, 5 May 2025 07:54:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=148.163.158.5 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431672; cv=none; b=FCHEABUdBwyv7BWKtKmmci2YPKmjl96l7iLsP1pYFEaKhnodKU8ZWj5Mf8vk5yqbMW1XV4ZD2SXnDWlgd27EqK2pEh1QvvRqtAxbpmmNFTh64fTq3/OZ/yyEQflGcVIkNp0CKSEbUSVtA7+S2cKOq0+XXE3YitEqo+ouQZriqOg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1746431672; c=relaxed/simple; bh=AWgY/FK/gzokndzyuhiyuAZO2vF2awcWmnBZbwUTdkM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rciAAhqOaS4cOlIuOpxsUMmL8wMoODOIzF6KLE0+k8MBGviu1MJ1Mp89nXpSdq500KByk6l7agCF/QH4hYGLkgPJR5QCXbNEO021noCGI8B6UAE9Q5avEDEyR+7ld42wt4Bzh0qPre81x+BhROOsqo9ReS5l+ib1fJFdWcakkE4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com; spf=pass smtp.mailfrom=linux.ibm.com; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b=nrXHZkKL; arc=none smtp.client-ip=148.163.158.5 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.ibm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=ibm.com header.i=@ibm.com header.b="nrXHZkKL" Received: from pps.filterd (m0353725.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 544Nkf94005900; Mon, 5 May 2025 07:54:17 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=F/h88Tsd1ya9ti7j7 IRQj5EYdS5TpQ9agwRHTxBlyVA=; b=nrXHZkKLGRr2YJiQpN4vbN2wF19WTEgnw w6P43VdrgUgi6FGhBK9AEOMR6y8iWdWMzrja01EFNmjOAWUIPDaYWDbV51gVDppt ulqJc/Hiz2RanKO6ZAArUS7Rt3B6mwgVnIwWdrV/Z8gDudJnykRpD3w7XYQ0KZrG QdjW37CTQ/w40aAjUYBp+Uj2hqbnbvF8yRb5Q+5c9RqrYoBwFUrEhlnQMqa1kJuc KMEXZ0NNh0HNClC4wy+8Bi+zq04VVAf7n0vxnKAgfvVcJAL3ZEdZahfX/vlOdO/t K3TnLfqRQlibax+0jvP2kZwom9Kcc6ncSULFDAJsk3m46dxDqDuFA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46ej6ysedr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:16 +0000 (GMT) Received: from m0353725.ppops.net (m0353725.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 5457p51f010075; Mon, 5 May 2025 07:54:16 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 46ej6ysedn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:16 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 5453xo99014122; Mon, 5 May 2025 07:54:15 GMT Received: from smtprelay01.fra02v.mail.ibm.com ([9.218.2.227]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 46dypkd0c3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 05 May 2025 07:54:15 +0000 Received: from smtpav07.fra02v.mail.ibm.com (smtpav07.fra02v.mail.ibm.com [10.20.54.106]) by smtprelay01.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 5457sBvV49545488 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 5 May 2025 07:54:11 GMT Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 947F72004B; Mon, 5 May 2025 07:54:11 +0000 (GMT) Received: from smtpav07.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6B4E820040; Mon, 5 May 2025 07:54:09 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.in.ibm.com (unknown [9.109.215.252]) by smtpav07.fra02v.mail.ibm.com (Postfix) with ESMTP; Mon, 5 May 2025 07:54:09 +0000 (GMT) From: Shrikanth Hegde To: maddy@linux.ibm.com, linuxppc-dev@lists.ozlabs.org Cc: sshegde@linux.ibm.com, npiggin@gmail.com, christophe.leroy@csgroup.eu, mpe@ellerman.id.au, peterz@infradead.org, ajd@linux.ibm.com, mahesh@linux.ibm.com, hbathini@linux.ibm.com, linux-kernel@vger.kernel.org, Srikar Dronamraju Subject: [PATCH v3 6/6] powerpc: sysdev: use lock guard for mutex Date: Mon, 5 May 2025 13:23:33 +0530 Message-ID: <20250505075333.184463-7-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250505075333.184463-1-sshegde@linux.ibm.com> References: <20250505075333.184463-1-sshegde@linux.ibm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: kBQVnUnuFpLSvP7f5dZS-KQDlcBy5Da1 X-Authority-Analysis: v=2.4 cv=GKAIEvNK c=1 sm=1 tr=0 ts=68186ea8 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=dt9VzEwgFbYA:10 a=VwQbUJbxAAAA:8 a=JfrnYn6hAAAA:8 a=VnNF1IyMAAAA:8 a=CqbteBQ7vrl-IhNh9TYA:9 a=1CNFftbPRP8L7MoqJWF3:22 X-Proofpoint-GUID: SqF5Eq3rrK9GgJ0USVieMbIFd3QRexFm X-Proofpoint-Spam-Details-Enc: AW1haW4tMjUwNTA1MDA3MCBTYWx0ZWRfXxeue7AZ49zOX eJ7bvxsFcreKKCvC4Cqc5nuaIUOkK0JMT4sqcJNnnUHt5BsmHbIjTwH+eWduwzTT8kyqSbO/tTw YnYsmnn4K0qhyQyS5nd9ECeCfQHTwDqH/L3v0HGUe5F4bYKTzUIXB/XwGRAzE5ksbfmgWNX0ObM 58d0vr0igz8Z7aOtHxZ6ZEfC7bS8Bnb6nZlNs25/srGV5rF+c8SY+vkr3PJ4Es4KqdWNMlopuw2 zbYYFmL8rMMddUdxfdTqsabiF1Eaxr9dAgFk9tJY19wl54xt/SqRyGPsvCsd0Sb3/mQ2eP1mQHJ /K8BY1dWukTVrG9OMovnoNaIwvLJ3U4bFgzpOSa01mBo0JKG2R9fLXNg4Jvz8V0TxujpEiPb2By Z1vztvx357e/0kGSWtpcXdMOGydRFj5WoWOopP5yCvwGCmjFjWElwCZxxXpRoD1+htbLQNnJ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1099,Hydra:6.0.736,FMLib:17.12.80.40 definitions=2025-05-05_03,2025-04-30_01,2025-02-21_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 impostorscore=0 mlxscore=0 suspectscore=0 priorityscore=1501 malwarescore=0 mlxlogscore=755 adultscore=0 clxscore=1015 phishscore=0 spamscore=0 bulkscore=0 classifier=spam authscore=0 authtc=n/a authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2504070000 definitions=main-2505050070 Content-Type: text/plain; charset="utf-8" use guard(mutex) for scope based resource management of mutex This would make the code simpler and easier to maintain. More details on lock guards can be found at https://lore.kernel.org/all/20230612093537.614161713@infradead.org/T/#u Reviewed-by: Srikar Dronamraju Signed-off-by: Shrikanth Hegde Tested-by: Venkat Rao Bagalkote --- arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c b/arch/powerpc/sys= dev/fsl_mpic_timer_wakeup.c index ce6c739c51e5..06d9101a5d49 100644 --- a/arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c +++ b/arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c @@ -75,7 +75,7 @@ static ssize_t fsl_timer_wakeup_store(struct device *dev, if (kstrtoll(buf, 0, &interval)) return -EINVAL; =20 - mutex_lock(&sysfs_lock); + guard(mutex)(&sysfs_lock); =20 if (fsl_wakeup->timer) { disable_irq_wake(fsl_wakeup->timer->irq); @@ -83,31 +83,23 @@ static ssize_t fsl_timer_wakeup_store(struct device *de= v, fsl_wakeup->timer =3D NULL; } =20 - if (!interval) { - mutex_unlock(&sysfs_lock); + if (!interval) return count; - } =20 fsl_wakeup->timer =3D mpic_request_timer(fsl_mpic_timer_irq, fsl_wakeup, interval); - if (!fsl_wakeup->timer) { - mutex_unlock(&sysfs_lock); + if (!fsl_wakeup->timer) return -EINVAL; - } =20 ret =3D enable_irq_wake(fsl_wakeup->timer->irq); if (ret) { mpic_free_timer(fsl_wakeup->timer); fsl_wakeup->timer =3D NULL; - mutex_unlock(&sysfs_lock); - return ret; } =20 mpic_start_timer(fsl_wakeup->timer); =20 - mutex_unlock(&sysfs_lock); - return count; } =20 --=20 2.39.3