From nobody Wed Dec 17 22:44:07 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 1AEF37E0ED for ; Fri, 14 Mar 2025 05:46:28 +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=1741931190; cv=none; b=KD/PbIGte5dMHry9n06PyMDzryLr/sneA+UtoUbPDmBhCmHF/iDjL9r74NJH0Fnkxag+DSybQ3fUkEAxQ+biK/Na4wxOjLlSr2GbSDVkj0i3Njw7iBaymsDzaVGg1QG5KuxqMMk6/MHt7RlnECLG3yWGMjzt0P1vE03N5V+WwqY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741931190; c=relaxed/simple; bh=JfkqTO4XQAFJC3G9pkhdVDCoq+KaJL7gqWaGsD8ehVc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=csVZ7bukaetoiWjR+phIYOxGhAFeP3gKFNVU6NOSXClb9q4kvJ1zH52Gs4oRmZegbjC2FJcZia9zxYZyzlq7iV1mw4VgxKmAgniGnEYd/Szq4nG2G/aEuDlQB/6HlDW4J4PGEAckxggAj5P8s6ONi6wemYKHDbh+nukhy4sMsX0= 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=RLZFBQDo; 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="RLZFBQDo" Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DNP6oG030794; Fri, 14 Mar 2025 05:46: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=XxU5XP2xQsKie4KRP nlKDhPgga75rXA+r7mJnNP2BIg=; b=RLZFBQDoalag5e52aYMwO2wI6p2VeWEEd vNh7pCFGhr99sxv9kkeDmpI3CMCI7c0ykWU7uh1gLDCyHbVGPbtHmKQVJsC4UQRN JBHfcBdu/paCRr2yaIe6nczjkFh+/bsqslsy8F3juMu7ak/G4ozK89LVPBo8l5PB 3IuLMM1sQjdCxAHfK+B8CzIgHhU+7XKrdExLswgDFO7hisG22aJYLJny6sx1uU8X qwqEEcVcj0B35FZ+1exbguKx33PQlLTHxdJ7Jvldv0uGj4omoVpCJ+2QLNQBCb+8 l9Q28NoAFjYsJKl7B2b+w+IOzdq5ygJA71wWm/FAlCwBL7gvPYZmA== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45byd8vf8f-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:12 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 52E5kCqP031459; Fri, 14 Mar 2025 05:46:12 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 45byd8vf8b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:12 +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 52E3Yt6G026010; Fri, 14 Mar 2025 05:46:11 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 45atspnfed-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:11 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 52E5k7JG43057504 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Mar 2025 05:46:08 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D09E120040; Fri, 14 Mar 2025 05:46:07 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7DAB12004B; Fri, 14 Mar 2025 05:46:04 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.ibm.com.com (unknown [9.39.22.126]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Mar 2025 05:46:04 +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, fbarrat@linux.ibm.com, ajd@linux.ibm.com, mahesh@linux.ibm.com, oohall@gmail.com, hbathini@linux.ibm.com, dhowells@redhat.com, haren@linux.ibm.com, linux-kernel@vger.kernel.org Subject: [PATCH 1/6] powerpc: eeh: use lock guard for mutex Date: Fri, 14 Mar 2025 11:15:39 +0530 Message-ID: <20250314054544.1998928-2-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250314054544.1998928-1-sshegde@linux.ibm.com> References: <20250314054544.1998928-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: gI0BauemxDdfq9atzbIq9HRczMRkM8KE X-Proofpoint-ORIG-GUID: l4a9ydR15iQ03wLKOtFxoTMspxWvenl8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-14_01,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 malwarescore=0 impostorscore=0 priorityscore=1501 bulkscore=0 phishscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=804 clxscore=1015 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503140041 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 Signed-off-by: Shrikanth Hegde --- 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 22:44:07 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 C63061514EE for ; Fri, 14 Mar 2025 05:46:31 +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=1741931193; cv=none; b=HQQJFTuqqXsBasHiUv90PPmDhUy+2zJ26Fr1eNsqZj/8Gw/VzhFYGy4tAN4IJe1O6HKDkRhqF3y4JjFqZLRCivdtu0WqOZAUz4tY98U4AOyYtwgAB6SgZrGaQNpSioK/ABO4SfN70TQ4mUEQHMJI4LjDI9S9DPqX0CkIooD5Uck= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741931193; c=relaxed/simple; bh=eI04HedwGrj5qLVlTsC440XRtGlC/SclPwlxp94Ld2E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=d4XMZ+aZ3vvjf4FWCvkk8PPFkNMmHCoz+s0fgrqPT49jXm1G2Nf/Oc88EujT2Ge5lSziD0zPXZsiDDHtUDYNcj+qDm55MkY1MPh6cW90fkAzTlhwtR68mT+4o/14RIFm9imCOC4RWy8bA9U0C43myadNOne+aX8flst169Zsgig= 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=VaOKzo0G; 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="VaOKzo0G" Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DNP1bY030636; Fri, 14 Mar 2025 05:46:18 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=rHiuokT753NlluXTP eZq8TFHySwH4S01ZogXJ3+Y+w0=; b=VaOKzo0GdpXRufdfxNuVB1cDGzh7EXbCf 6N1SJsJ/1iekCMyWfkCvn6FueLWNVqX2c7coXP2v30sy+DNTmBnFeEN+tDQZIh8T AIBZ/5ekJV9JJIbGq2A3zXJLKfUsEM95SNTcGQwy0pyGxLP/BglQ5f5hP5bOziwG RSC0Ao7aDdh9vImD6AUS7qPvJs79esS7eTcTBsDS6dNSy7BnxgMiSYc0DC+pRGYI agQFMS9jMZBy/5J7z9JbcTZtmC/NUvrNPtJn7OB3FhEmrQnusIBtx1BWrhImBk1w YDmJyyKbUW1sbJ3vLZJvNnKse3/yuM6ljwNLJRguPxrurMqw+JWyg== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45byd8vf8t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:17 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 52E5kHUo031530; Fri, 14 Mar 2025 05:46:17 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 45byd8vf8q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:17 +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 52E42Xb6003181; Fri, 14 Mar 2025 05:46:16 GMT Received: from smtprelay05.fra02v.mail.ibm.com ([9.218.2.225]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 45atstwes5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:16 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay05.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 52E5kCrE56885648 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Mar 2025 05:46:12 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id CD9732004B; Fri, 14 Mar 2025 05:46:12 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 54AF820043; Fri, 14 Mar 2025 05:46:09 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.ibm.com.com (unknown [9.39.22.126]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Mar 2025 05:46: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, fbarrat@linux.ibm.com, ajd@linux.ibm.com, mahesh@linux.ibm.com, oohall@gmail.com, hbathini@linux.ibm.com, dhowells@redhat.com, haren@linux.ibm.com, linux-kernel@vger.kernel.org Subject: [PATCH 2/6] powerpc: rtas: use lock guard for mutex Date: Fri, 14 Mar 2025 11:15:40 +0530 Message-ID: <20250314054544.1998928-3-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250314054544.1998928-1-sshegde@linux.ibm.com> References: <20250314054544.1998928-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: IBlATTYsNKDMT8dsNglSO243_h1UCjor X-Proofpoint-ORIG-GUID: GLkJoCAn9DenybbOgYEdK--V0EnxENV3 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-14_01,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 malwarescore=0 impostorscore=0 priorityscore=1501 bulkscore=0 phishscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=999 clxscore=1015 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503140041 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 Signed-off-by: Shrikanth Hegde --- 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 22:44:07 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 9FF2915854A for ; Fri, 14 Mar 2025 05:46:36 +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=1741931198; cv=none; b=bkLXiV3T4wcRAlz6+dRlsKKHnHNLKAkHCYYmHwUZU/McaRobgZyw0z1T4NcWTRYbihRdX0mMMAZUaiVWeQ4mZNg5+iPihjqrYuIjKSaZF0NZ6q5wBb8gHEBI1m6TLe2qRRM1+SU1hT4A/6owDrxnXbulqFLh7XK4iqeJ+0Pzsc0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741931198; c=relaxed/simple; bh=eUvi4RqywOEEZH25sN6zIKspSCc3WWheLySzduHClLU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Dbhl7J5+AmQ9oTn2LS4xwEyU3jJgPBC5e0WlhiCAeXN2hUxQxKuXMSM8pqhy4vVWwXnwajT1ekGTQRd3Z3hG6wPfx6FWZizApcBLQ28emd2sUZyCr4BhVYD9NRqd3w5q6VH5C+UFTb5ju/N4LLrgXd/gCJS+Eu5L9/7BtsBasb0= 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=JPQjRw5j; 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="JPQjRw5j" 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 52DNOvdH018074; Fri, 14 Mar 2025 05:46:23 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=MwVYPr7/JahDzLEPr 39TM/CoUV6AsGze/brxnTHHiOc=; b=JPQjRw5jyIo4LSnDe/LgzhDwKHRnx4z50 dyexkfSR1fKYyCykGfHAesfKQcoI6OYleyIDfDK/xJtzwgEvRirc/vGSHlbG+RG8 o+Fo2hX4vDEs/PW3jNW8xmLb64OfCHoUk3EaXeSzO2iqd5l4iYTno2BEN2maI3zU fUOIBUkbk730FTQvyDoxXKXzGcyyQWw+I7TdIx+0p2XTrjB5OcR4nD/nWndJqkdU cLzsMVsBkO/PxXSWaxLVZzvNTGOWF761ddLbNtZIb5RyPGpXFb/imszeOJDMVpz3 3Kw479VuyCzYMex9a+HRKxbR08fHyBVMqDzyrYMpSxUmlhwiAY5Og== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45c0srbwd0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:23 +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 52E5f4nA002102; Fri, 14 Mar 2025 05:46:22 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 45c0srbwcu-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:22 +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 52E4OnoG012359; Fri, 14 Mar 2025 05:46:21 GMT Received: from smtprelay03.fra02v.mail.ibm.com ([9.218.2.224]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 45atsrne45-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:21 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay03.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 52E5kHk455116166 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Mar 2025 05:46:17 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 92D762004B; Fri, 14 Mar 2025 05:46:17 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 362D820043; Fri, 14 Mar 2025 05:46:14 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.ibm.com.com (unknown [9.39.22.126]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Mar 2025 05:46:13 +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, fbarrat@linux.ibm.com, ajd@linux.ibm.com, mahesh@linux.ibm.com, oohall@gmail.com, hbathini@linux.ibm.com, dhowells@redhat.com, haren@linux.ibm.com, linux-kernel@vger.kernel.org Subject: [PATCH 3/6] powerpc: fadump: use lock guard for mutex Date: Fri, 14 Mar 2025 11:15:41 +0530 Message-ID: <20250314054544.1998928-4-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250314054544.1998928-1-sshegde@linux.ibm.com> References: <20250314054544.1998928-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: cn0oyIPr0nPtp64hNPcm0nsDHxubdUR8 X-Proofpoint-GUID: GZb7snCNZ99lih3uHAJ8kU9CscgD49pH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-14_01,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 bulkscore=0 malwarescore=0 phishscore=0 mlxlogscore=684 mlxscore=0 impostorscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503140041 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 Signed-off-by: Shrikanth Hegde --- arch/powerpc/kernel/fadump.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/powerpc/kernel/fadump.c b/arch/powerpc/kernel/fadump.c index 4b371c738213..5fd2c546fd8c 100644 --- a/arch/powerpc/kernel/fadump.c +++ b/arch/powerpc/kernel/fadump.c @@ -1374,15 +1374,13 @@ static void fadump_free_elfcorehdr_buf(void) =20 static void fadump_invalidate_release_mem(void) { - mutex_lock(&fadump_mutex); + guard(mutex)(&fadump_mutex); + if (!fw_dump.dump_active) { - mutex_unlock(&fadump_mutex); return; } =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 22:44:07 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 89EC214F9FB for ; Fri, 14 Mar 2025 05:46:42 +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=1741931205; cv=none; b=MFPgkEhup7f2IM+JcjlSZKDKawybhK9DZspQ9nEymmDYgTu7oty93/9kmrIsSyVO0pv8ef/OmB7nXydthQ84IjUJcFDI0VoB1I5nXacy3aP5R8o+kJ+oWEhcA16m/1nsp2F9VCUcZQqnCmM+cYYwGVq9nfrvQXySQYn1nZ1nOnY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741931205; c=relaxed/simple; bh=nHt6dLmpT+cU0vpK8p0HKXXQqhiW/4EwnSQCOVzgpCo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UoEjWt2lVKeWpqoWflrI12OBDodDKd71xUp4Vopzg9zq4drEnrC4At3vwdYVvHpzosh2IN+1g1cuCMd0IKyVX77RrzOF7LjmmwwL5ExAtNXWrUiTGYIcZGWthzvoadNlDV6VkzkeTlG+kXdDxvPUvVGKLGakqKRwV1Xx6jN1uGU= 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=gbfO1J9+; 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="gbfO1J9+" Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52DNP1bZ030636; Fri, 14 Mar 2025 05:46:28 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=TRESxEA7oSzae+g2+ qPdwZ3SY0VvRAeOCRjwooFoXNE=; b=gbfO1J9+reFi0uSM20HWE+Dl++v12FC69 He00EeREGF8gLvKtMJyBhsat9mqBJBg7mZeoE9tKHC4d/FlmyjT1abIz70dteAQr qZOyzeWR0e8RpuYvX2IbhSq3iKeP2VRJb47paa90atnqWzWY3m1CkN7RfpLjs0R1 MZXT0hvHFb1kuVXCAHcMd2g8AXbAH/VD1KJEyH4XFQgQA7CUWgr8cV9KrBKex6Pm P8rHUSMCPvkyfVz7Hmp10ZC2peUV436+nvrSkoLFa/jSBm+axxzZxZE5/WpqjExu ffPosp2p91uSkUbSqyo8LCB8rYYOvuqvgwYTJbxjHejlj8vlOzUzw== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45byd8vf9b-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:28 +0000 (GMT) Received: from m0353729.ppops.net (m0353729.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 52E5ix79028924; Fri, 14 Mar 2025 05:46:27 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 45byd8vf98-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:27 +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 52E4sdw8007412; Fri, 14 Mar 2025 05:46:26 GMT Received: from smtprelay02.fra02v.mail.ibm.com ([9.218.2.226]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 45atsrddjg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:26 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay02.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 52E5kMcq30343448 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Mar 2025 05:46:22 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 7BE3B2004E; Fri, 14 Mar 2025 05:46:22 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0982A20043; Fri, 14 Mar 2025 05:46:19 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.ibm.com.com (unknown [9.39.22.126]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Mar 2025 05:46:18 +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, fbarrat@linux.ibm.com, ajd@linux.ibm.com, mahesh@linux.ibm.com, oohall@gmail.com, hbathini@linux.ibm.com, dhowells@redhat.com, haren@linux.ibm.com, linux-kernel@vger.kernel.org Subject: [PATCH 4/6] powerpc: book3s: vas: use lock guard for mutex Date: Fri, 14 Mar 2025 11:15:42 +0530 Message-ID: <20250314054544.1998928-5-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250314054544.1998928-1-sshegde@linux.ibm.com> References: <20250314054544.1998928-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: MTYBMPTK44BLY-d_dLxUWXy3Ux07JK09 X-Proofpoint-ORIG-GUID: bAwwU9RXnhl8ikrbv8vkFXqPGf_ZU3xR X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-14_01,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 adultscore=0 spamscore=0 malwarescore=0 impostorscore=0 priorityscore=1501 bulkscore=0 phishscore=0 lowpriorityscore=0 suspectscore=0 mlxlogscore=872 clxscore=1015 mlxscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503140041 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 There is also an example of using scoped_guard.=20 Signed-off-by: Shrikanth Hegde --- arch/powerpc/platforms/book3s/vas-api.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/arch/powerpc/platforms/book3s/vas-api.c b/arch/powerpc/platfor= ms/book3s/vas-api.c index 0b6365d85d11..eb1a97271afb 100644 --- a/arch/powerpc/platforms/book3s/vas-api.c +++ b/arch/powerpc/platforms/book3s/vas-api.c @@ -425,7 +425,7 @@ static vm_fault_t vas_mmap_fault(struct vm_fault *vmf) return VM_FAULT_SIGBUS; } =20 - mutex_lock(&txwin->task_ref.mmap_mutex); + guard(mutex)(&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 @@ -437,11 +437,9 @@ static vm_fault_t vas_mmap_fault(struct vm_fault *vmf) 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; } } - mutex_unlock(&txwin->task_ref.mmap_mutex); =20 /* * Received this fault due to closing the actual window. @@ -494,9 +492,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 +540,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 +569,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 22:44:07 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 2FC1315A848 for ; Fri, 14 Mar 2025 05:46:45 +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=1741931207; cv=none; b=o5vwSpcp7fUb3MyqO0KOh7tfhipU5LUOBsnDggb5XjS9UiS3YoPgA7B2jXG1wpFNSRGp/hr75d2W4zLOjYfCQ4fA/9Ju85WDfwZZQPQ0nUJqge8o5jJsmYo+17h4h5q+JW0D1ZyuR3v5cgdFd2CEX8N2rl+KXzhGiw8fRTn6rTQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741931207; c=relaxed/simple; bh=ruBEfoMwzZH39i3/UnFKZ+4dD1O0Kgi8BMe8Do6Tncc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=poy53DoJpNKOmIAE6RWRo0mr3TR/k4BcsAbQAePv3vsF/CdRAHmol8OQTOf51YB8pXA0FlIifQw4N/X+6TsUTNLpi/UfTVEqa3OCSa/HNBb2zz0CMCDeoEtxATznmRY9tNy+qJ4EOzn6Oo5FKADO/JmsUQFoKTr5o8NhXYp/bAk= 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=p4E29TPj; 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="p4E29TPj" 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 52DNOvDK018097; Fri, 14 Mar 2025 05:46:32 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=Slm+QcWnMt+vSRjRU 5hHB8Yv0leGrSO3vsQoycHpWIg=; b=p4E29TPj7uPkh0elSoSXMUQguAd/iNUu2 XeVUlS5IUYZM+VuPmolqtNi5FmfjyaEckHSZ6TvnRqjzbxoBHW4vKfa+KuoqUSdr l/gLZAqi3/TTqmvpIgYcdj0W5tW35izlt6iFgcX5znUgXkFEpGbcrFRd/lkqgsko gtsrAH1e/03bjLWDJU50k5zGJewrgOEoZ1RyABkCGJzPylT1LeyvhxDM4GHxrPem v4Q+6fOVyGQY1B+COGOLb6Ao5JSnL8HzYF7lk+NJp9hRF9La6qC5tt5gcunJFj5U Jr4AFl06YaI+xHTaiV9NV9TCHfOR0Ci4Xrmw/f0AvKmv4A+lA3fLQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45c0srbwdb-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:32 +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 52E5kVgV012946; Fri, 14 Mar 2025 05:46:31 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 45c0srbwd9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:31 +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 52E4S8aQ003148; Fri, 14 Mar 2025 05:46:30 GMT Received: from smtprelay06.fra02v.mail.ibm.com ([9.218.2.230]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 45atstwess-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:30 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay06.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 52E5kRQY23003404 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Mar 2025 05:46:27 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 437C52004B; Fri, 14 Mar 2025 05:46:27 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E7E6820040; Fri, 14 Mar 2025 05:46:23 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.ibm.com.com (unknown [9.39.22.126]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Mar 2025 05:46:23 +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, fbarrat@linux.ibm.com, ajd@linux.ibm.com, mahesh@linux.ibm.com, oohall@gmail.com, hbathini@linux.ibm.com, dhowells@redhat.com, haren@linux.ibm.com, linux-kernel@vger.kernel.org Subject: [PATCH 5/6] powerpc: powenv: oxcl: use lock guard for mutex Date: Fri, 14 Mar 2025 11:15:43 +0530 Message-ID: <20250314054544.1998928-6-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250314054544.1998928-1-sshegde@linux.ibm.com> References: <20250314054544.1998928-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: hOAh2jrwfqOKyxz43bSzBNe7auPwMxaK X-Proofpoint-GUID: VfIWj_W0UKqk5AiwHFnE4EH2KH-C0QeM X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-14_01,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 bulkscore=0 malwarescore=0 phishscore=0 mlxlogscore=830 mlxscore=0 impostorscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503140041 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 Signed-off-by: Shrikanth Hegde --- 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 22:44:07 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 08E4215199B for ; Fri, 14 Mar 2025 05:46:51 +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=1741931213; cv=none; b=mDfkCN7B1P1mwFLZTcCHwRknRLLgQznJzHB5qftMOEOn8LTGbbkg/VhRtvFy6po9jhTKwJX24vh7aoVR/4kHJa44ZbjEvqAEAOBfnuZ9g/7fp8qx+DMsITZt2o9P0f2xEJiftKlrhJKzAFHYVpwdV/KbIYX16kr38h6btfhNsNQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1741931213; c=relaxed/simple; bh=1DkS2cn25IZOsOqgB34SeuFVQyVPdVpZ8rt0xOcBNOY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=rTj3CptXwE7cprdqKSllOLLjcAbnPZYQxJ1a70fBOLX0n1ZyZAslTWWEVamvuP6IixPoznkha6oTkskDg6TZtXy2LuI93p+sTCzqlEti4rOKwHWjEmaWoZurYxfft/fd2Eyw7KGmduf30l6gQ28z1r2FLQrZmqg62mq/fB60lrk= 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=Ub5YRin5; 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="Ub5YRin5" Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 52E3kYJs020652; Fri, 14 Mar 2025 05:46:38 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=rqd8nApZfIj14eDIu EBmgblnXR/j8d+uZ5j9bQDSyx8=; b=Ub5YRin5iuB8xFzqhpxqN4VbPZliMOqCM mT18O5IjqYz6XhNUtS3FLippc17f+MHyJB/1qtJa6A+dqeq+6FPC9oVa3fXN8kUf q+KKp5kbN7X9Cr/figTuyh0SJn7Pwg87y02P63mSeMaNcAwfvuFIW9g8+xE5XbY9 d4qtjhdxsH8PiSj7tENgozT90p3pP2craHVg9b1uMYn1ueak2hsClaywI3V7hM4V QcWGrTQwT4Ij6nlVZRb3Fz4/8Xx1EQHZHsVjSrwD8Xvj0ngWZ9aoAvrnb/TUOd+w rElAJ8bXdKuzsK3t9NJh8QUiRWxcrvekcHoiMHSat8rYn8mrLXYRQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 45ccu98dju-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:38 +0000 (GMT) Received: from m0360083.ppops.net (m0360083.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 52E5kbdN000397; Fri, 14 Mar 2025 05:46:37 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 45ccu98djs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:37 +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 52E5F8jq007555; Fri, 14 Mar 2025 05:46:36 GMT Received: from smtprelay04.fra02v.mail.ibm.com ([9.218.2.228]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 45atsrddk3-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 14 Mar 2025 05:46:36 +0000 Received: from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com [10.20.54.102]) by smtprelay04.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 52E5kWw032440906 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 14 Mar 2025 05:46:32 GMT Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 70E792004E; Fri, 14 Mar 2025 05:46:32 +0000 (GMT) Received: from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1D82A20043; Fri, 14 Mar 2025 05:46:29 +0000 (GMT) Received: from li-7bb28a4c-2dab-11b2-a85c-887b5c60d769.ibm.com.com (unknown [9.39.22.126]) by smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP; Fri, 14 Mar 2025 05:46:28 +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, fbarrat@linux.ibm.com, ajd@linux.ibm.com, mahesh@linux.ibm.com, oohall@gmail.com, hbathini@linux.ibm.com, dhowells@redhat.com, haren@linux.ibm.com, linux-kernel@vger.kernel.org Subject: [PATCH 6/6] powerpc: sysdev: use lock guard for mutex Date: Fri, 14 Mar 2025 11:15:44 +0530 Message-ID: <20250314054544.1998928-7-sshegde@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20250314054544.1998928-1-sshegde@linux.ibm.com> References: <20250314054544.1998928-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: yCsldXnCv7_YVnev3G0b_MmgmNzp_kTS X-Proofpoint-GUID: 8SNQeekt3qQUZWAbThuHNs6g_5hcctUT X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1093,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-03-14_01,2025-03-13_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 phishscore=0 mlxlogscore=771 mlxscore=0 adultscore=0 impostorscore=0 lowpriorityscore=0 suspectscore=0 spamscore=0 priorityscore=1501 bulkscore=0 malwarescore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2503140041 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 Signed-off-by: Shrikanth Hegde --- arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c b/arch/powerpc/sys= dev/fsl_mpic_timer_wakeup.c index ce6c739c51e5..bbfc7c39b957 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); @@ -84,14 +84,12 @@ static ssize_t fsl_timer_wakeup_store(struct device *de= v, } =20 if (!interval) { - mutex_unlock(&sysfs_lock); 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); return -EINVAL; } =20 @@ -99,15 +97,11 @@ static ssize_t fsl_timer_wakeup_store(struct device *de= v, 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