From nobody Mon Sep 28 07:19:43 2026 Received: from smtpbgbr2.qq.com (smtpbgbr2.qq.com [54.207.22.56]) (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 44898175A83 for ; Tue, 25 Aug 2026 01:50:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=54.207.22.56 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787622640; cv=none; b=YfgZXtM0dS4eAGCkbFzulrRbOcxAdgrdhkZWpa9+2JpqOT5GIgK6lRaFbeClMQ0ssha51QZhRss9hfEYmwQhZPSD+TYCYWYuI73EvTU1cheJnrYonu9DSXTX2+eod/5ejxMyaVbYQwrlqB1rcXMoUWGEojKR3Mbu8eLuTR5LyN8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787622640; c=relaxed/simple; bh=fMxQlxPw5yqowHzATI2QG0fOMx4vPeA1nQdMP9lQEm8=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=RbNVQGxHoxRiDjyIs5SXOpcOSioiGQ8H9UChYiLBtgoowRZpzz0SgcQgnE/vTjp8Az7WhlQnslCmLMwqT7zO0AmyCdtZbf7HNHtJ1fiscK0Kx1A6P31jhcg7nq1KZsE0Ebgps9iyCiFRX2qL+xSE2aG1hQHVpWgL4uqENff8zt0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinsec.com.cn; spf=pass smtp.mailfrom=kylinsec.com.cn; arc=none smtp.client-ip=54.207.22.56 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=kylinsec.com.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=kylinsec.com.cn X-QQ-mid: zesmtpgz1t1787622551t6b620caf X-QQ-Originating-IP: m3P3yEbrxEp99n5dkErUQBEK0Gi1iZIhP7jGXaOVI6s= Received: from localhost.localdomain ( [175.0.204.93]) by bizesmtp.qq.com (ESMTP) with id ; Tue, 25 Aug 2026 09:49:07 +0800 (CST) X-QQ-SSF: 0000000000000000000000000000000 X-QQ-GoodBg: 0 X-BIZMAIL-ID: 14636716292373247677 EX-QQ-RecipientCnt: 12 From: yingchao To: Suzuki K Poulose , Alexander Shishkin Cc: Mike Leach , James Clark , Leo Yan , Mathieu Poirier , Miaoqian Lin , coresight@lists.linaro.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, qinyungao@kylinsec.com.cn, Yingchao Deng Subject: [PATCH] coresight: syscfg: fix deadlock on device registration failure Date: Tue, 25 Aug 2026 09:47:17 +0800 Message-ID: <604ED754D4669F40+20260825014717.2346-1-dengyingchao@kylinsec.com.cn> X-Mailer: git-send-email 2.45.2.windows.1 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-QQ-SENDSIZE: 520 Feedback-ID: zesmtpgz:kylinsec.com.cn:qybglogicsvrgz:qybglogicsvrgz5b-1 X-QQ-XMAILINFO: NwLsFfpprmB37ijiOn8qatb6czvonEqbwndVbbeYDDTA4ae92+wmIHSh J50WwdjHOPHyZIJzuB7q+ApFb2MZxpXEsSTI9r9QtjnvMzXu2NqLi2gitpu7zcyoVlPovUU /jpCXT1y/0pMpGRqSbgTYHREQ5Z2UOjI/gt8jUUXYyRVRwQfiqloef9zCV5jG8aGckRlz6A V5u2ZzRbEapGtc2TbMVGDAYjf92+MQx1NhAo75oQiegaO679xMClXmd0zvrNPf6cUrVaV7v cvfCndwDX98hdYaDbAnRpDLHM8txY03u7Wwf81GO4lp250/RByYz2cicK6YyqQC42MW/IUV EFW+0SU6UTCEQBBgSI/hPEJ4qJJlBKufg9j6EzZXNdVk01zn/m1R1iMKZZR0x0KZM1Tb4Gh nSo7ydeq74YHUCLErZ4HyttuWP8VCxooUQ8vvCjPYRbNvEuIqPAZqVa92gQOW8M8v449QhL CBQQv8stZyozjNeJN75l21yw6U+UreWCZ0ikIsgWLi3ylAYCFpw86CWcodlefxnhBF92Dt1 qE2oSDOHFlnCfvfJ0F6wIW4soCekspKScTM4sk8hpDJM8YS5QGGEUFWTBrMEs0o9ASVCWzI f8WZ0JGa+k2A0E0fz0ml+V17EiciWY+7CNF5sLHCyFI7vhRd9UESL/foHeceQc90/dpsu6T F78lZDLDODiQ3/M1nLaikcOZ09unasU4dl5UvcIJq+ooKMKFPu7VNr0rY0vg1vNpCtPx10V xuEv9bBwipr0k1l5tq4K47b05dBmFcGguHAafRQqKB8g2sI2c4mSF6Kjl7LPK+dU5RgoQDH jkKfTVmV55YZ6Ntvk4l0d8WZlTfajVExU/MqXLCjCi53p4lnSntXUF46OXFhRaibXvkMmUA hjW6hkHtafMDwAlOAPcC2dmL+/EYoUXcNpg0FAI2pMIYNRvAzjoaz5S8pNuJnDKXOe3Rdzx ofhzLDr8rd2JNdO9ALWeSHzqbQVgpFi1Ip0uuG07wwasU0KVr9Qhuz/on/PAWxIq/SKUsgg FpDbZ9nyb82//hmLm22q9i0ABkQvWne21vmmszXipQYtOVwWyW+FBJRFEjiNCYTVowc6y6X 8Zrrey4evbgImkijEUXqEX1hiip7Pz6EO8IEoNMYCg0oqO309vW+r73sJH+T7X485Kb3vuj NkI2BmA+YV+o23g= X-QQ-XMRINFO: NyFYKkN4Ny6FuXrnB5Ye7Aabb3ujjtK+gg== X-QQ-RECHKSPAM: 0 Content-Type: text/plain; charset="utf-8" From: Yingchao Deng cscfg_create_device() calls put_device() while holding cscfg_mutex. If device_register() failed, put_device() drops the last reference and invokes cscfg_dev_release(), which takes cscfg_mutex again, deadlocking. Unlock cscfg_mutex before calling put_device(). Fixes: cfa5dbcdd7ae ("coresight: syscfg: Fix memleak on registration failur= e in cscfg_create_device") Signed-off-by: Yingchao Deng --- drivers/hwtracing/coresight/coresight-syscfg.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/hwtracing/coresight/coresight-syscfg.c b/drivers/hwtra= cing/coresight/coresight-syscfg.c index 2bfdd7b45e49..d0e7e4720e46 100644 --- a/drivers/hwtracing/coresight/coresight-syscfg.c +++ b/drivers/hwtracing/coresight/coresight-syscfg.c @@ -1210,8 +1210,14 @@ static int cscfg_create_device(void) dev->init_name =3D "cs_system_cfg"; =20 err =3D device_register(dev); - if (err) + if (err) { + /* put_device() triggers cscfg_dev_release() which takes + * cscfg_mutex, so drop the lock first to avoid deadlocking. + */ + mutex_unlock(&cscfg_mutex); put_device(dev); + return err; + } =20 create_dev_exit_unlock: mutex_unlock(&cscfg_mutex); --=20 2.33.0