From nobody Mon Jun 8 06:38:45 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 781DF40B38A for ; Fri, 5 Jun 2026 10:31:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780655476; cv=none; b=DdBgOc3gvG/U2HFNF43CHr0nhKUtayWXDM/fTDcwv/ljjxPzZdkQhunmAsRkqWC3O+U4J3kvNurllkhznSGRQ7lPo6J6ZnZlKl0L5G6ihVg14qg8LjKYtMX7naEamXDdXKp5AuxbCrx2H9xBe9Yly1XGJnSDVzWO3QQJI8PkUZE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780655476; c=relaxed/simple; bh=R/FRwW+ySF9W2dPGZQVRXHt6gF9PijiVFPkHxc0Wcgg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=P2QR46jzldvtWgmdJYVX3dNofdaHDWWhNaSnE/COQgVAqQpQJ49VXu2naQIZb0hFO1buHRMSJ+2gebmIDxmPcwL9xg4qNcxpCdT6n+coj4osRXzHt1lfZTjy4aPoau2jVALMF5PbjTAVne93IiCTDzK3hQ1H+0UsvhSCLdXeuH8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=eo428vh7; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Mjg6TW8h; arc=none smtp.client-ip=205.220.180.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="eo428vh7"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Mjg6TW8h" Received: from pps.filterd (m0279872.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 6554isX52667044 for ; Fri, 5 Jun 2026 10:31:14 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:message-id :mime-version:subject:to; s=qcppdkim1; bh=LC2pJVsxWt+KbmcxSdrSyA iWMz8/N4TYn6VfLvbw4to=; b=eo428vh7LlUfLQKi1KEuWDaoevAiL01w5uPhma jbNzKJ5NGZXboNFhiDY9LPh4aVj/p83r2wGxoDyYilKgZcXMZhDaIruezLS18Ykq OJsttuA4+9AM9Xsh5gLuqWbzaQjmZc4+6rD1fCtjeEoTXj+qlOwuQk8sj+Ymh4lp OKc1d6140TOI/6iQjeEb0psGpwkwJhmQgIIr7sQYUk9tQiXDJH7/+ziwrk7bUAPQ hBLu2ET7hOA+jjkpfz5EZMsEMHFRSWmt5Mf2whRdx6vAdh2SbBBcnXPPGRo96WDY 0Fv90FQrBH2DOsD0IhZUPAlUXu3D2XgWiGSdk6jtnOXN2W3g== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4ekemyugjj-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Fri, 05 Jun 2026 10:31:14 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c860544c077so1164709a12.3 for ; Fri, 05 Jun 2026 03:31:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1780655473; x=1781260273; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=LC2pJVsxWt+KbmcxSdrSyAiWMz8/N4TYn6VfLvbw4to=; b=Mjg6TW8hdgFSDmOqY04qhkBmhzJ0Po1wVJ5q4n6kmuOG88QSvL+1CwxjSnjMD+PnFl y2BvcykMQUq2zHbxCJ0A0w5qiCx25pznFeNhVqgWjIf+Br/7sJH8B1bwEKJnxfNs6Gys viDxUuQkglkTSpgVcjURse3xNsFjarJtZSrcdEN3PbqXc8olUTif/tPwMe6yDAeeozH9 lfN7OLysfIoSX/M8r5MQYPVYlAbvZEf1NyyEwL5V+4vKMIswetNdzORIilvsKrIBjUZO E62r/l01Cp4zQ2Vn/1gM3+D/GZBay4sOVaN6/XD03SQ1Kle4Adsa110WCXTgOwxDXyde N3Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780655473; x=1781260273; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=LC2pJVsxWt+KbmcxSdrSyAiWMz8/N4TYn6VfLvbw4to=; b=n/fT1C/JTRZOtK3LZGkxmKfvdRZDmIoLr6p9J286p3+W35weOPaB7VVCbHKK5ZML1Z MfO2UiRgmwMsQKkqsQf/MYjgNAjB+53UBI18SoRAjrsfUp+ReSqbsfdaJxT4trhCue/E InhmwN6gQgn89x+j+Z4KBu90CHq2T+qc3qcSX/8ZeYX8WshZJu1WozGiX92oWofyt+2Z rhoowjwqiP5TWrn+pyXWJNKWnKJ5d1fAtVzuzFHf+ZFx9T6aKtOCUlliOeEPdQwQta6o Kon97XkKFkBBZlzUs+EHubsx6EuX9fsqmGLEEnqFBjbrCn7pFNylIyZEhBYTfzzQW5cd BTdw== X-Forwarded-Encrypted: i=1; AFNElJ87Hsempf29quG0NVi9eWQ6pvDOcWaPF2rVl+Lux5+TjaLfc2+J9DAQoILngnd64tfuxJRf8VlmnmhhzzA=@vger.kernel.org X-Gm-Message-State: AOJu0YwOXu8LfvNbPlIOPEzwd4XJPM5Swle6lO1Godfm9OsdbH4T4mhw w+JVqT6FaoA/Y1aIX//3KqGXUwTTOwVG50xj+p+rT5CZch7Q55+ZvxMfG8qTadhrRYVOzAx1S18 j4GTRDKNdY+93lSDWHUs0pS+R3wVlFNlgi6V+B4UU5aAFeosseri49/T8vazfAYA3ABrYu4iErR s= X-Gm-Gg: Acq92OHv9wiXjuKvUuEBiSo0elv6dkOPfTxKSiYk1YTUl/Uhpx/dzNXnAfpm5TOXOT3 imuL8s1B6tkyY2OUhRGzD13EIDSjUVM8Lj/nkZLmR/l+R6RaoVi9g9LA/6frIYt7uu3VFVFzPgf JczFTTe9h8Lswsnn0od6XlguwIbExSSjr/eXpxPuPsO3xxLedsbi5k0oAG7uD8cRYvEa3ZIAf8K x3B2NDq6LTZRH7KGYhvnr2hdbhd75CNYG/E83vtcETKpJjfCYIe5IF+ypUAy9iMpMBX4VJyCx8M 103KVp4z3XF97kkZ8srfmIr+ORm9eo2pMq0Gz+ie8xxGrGFBry3PV6PgZEynymSULa+SkqE37BM iZB9Iwn2YdXgdtjCvd5Z9wQSqm0YHd1xhPhg17NZFQkO7JuUz1EbHxn3LqDGBGQ== X-Received: by 2002:a05:6a21:6111:b0:3b4:8f57:3205 with SMTP id adf61e73a8af0-3b4cd03f192mr3495332637.36.1780655473398; Fri, 05 Jun 2026 03:31:13 -0700 (PDT) X-Received: by 2002:a05:6a21:6111:b0:3b4:8f57:3205 with SMTP id adf61e73a8af0-3b4cd03f192mr3495292637.36.1780655472902; Fri, 05 Jun 2026 03:31:12 -0700 (PDT) Received: from hu-smankad-hyd.qualcomm.com ([202.46.22.19]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-c85df03498csm8743566a12.1.2026.06.05.03.31.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 05 Jun 2026 03:31:12 -0700 (PDT) From: Sneh Mankad Date: Fri, 05 Jun 2026 16:00:46 +0530 Subject: [PATCH] kernel/cpu: Disallow offlining boot CPU based on config Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260605-disable_boot_cpu_offline-v1-1-4c68fe1a6cf8@oss.qualcomm.com> X-B4-Tracking: v=1; b=H4sIAFWlImoC/x3M0QqEIBBA0V+JeV7BrITdX4lF1GZqIDS0IpD+P enxPNxbIGNizPBrCiQ8OXMMFe2nAb/YMKPgqRqUVFpq2YmJs3UrGhfjbvx2mEi0ckCBrqdhsP6 rSUHNt4TE17se//f9ADzwiI5qAAAA X-Change-ID: 20260603-disable_boot_cpu_offline-eb4f55ac96f2 To: Thomas Gleixner , Daniel Lezcano , Peter Zijlstra , "Rafael J. Wysocki" , Pavel Machek , Len Brown Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Sneh Mankad X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780655469; l=2099; i=sneh.mankad@oss.qualcomm.com; s=20250818; h=from:subject:message-id; bh=R/FRwW+ySF9W2dPGZQVRXHt6gF9PijiVFPkHxc0Wcgg=; b=+PA7Cxep45m/Mu6YMDVJ7/tZ8OzoVvkvmeCtv1jQZ8fJ9rD028VTNKmb3zBPaZbL+6bccn1Xl zYP2D1YGjTSBwRBy+ZTFZOzN3+tc186oYHr8jl5AV0vnnp910QyVhh8 X-Developer-Key: i=sneh.mankad@oss.qualcomm.com; a=ed25519; pk=sv57EGwdcfnp6xJmoBCIT1JFSqWI+gawRHkJWj/T2B0= X-Proofpoint-GUID: rI317iU-iLRuO7f-c8IWzK9lg7Pzn4fF X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjA1MDEwMSBTYWx0ZWRfX4oRTMtvlI0UX LsvCHLVUi06MMRWMnnyybLVqMbUAICN2LFPJdIcrZnylfIOzyoROezI71RYV+H3lDkM/i728hsE AlmfH6yZAcHk+DbV/ib7kVNX+K3lS49yHR2Rh+4w1WkrAi3i20QMMjAahwLzEtjYhW3nTgAWEtN 6MuwIGHwfuNKP1co6ct4UiJCq/eIgjVw9JWVnmfoA/sn47ekDLDhr/5Q5GVIUTbU2Ea+mE2Xaht Teg82R8xQGF9agBNKqH7gUxDd/vEspKadYgLfwTY/UcWn/mwjgidhRzh8cxBmCv2U2dw5Vg2HsG BZcnifBTa0TquvPlVcQRA9k7Ku+MVn1NTdFwOp+OraKNEf2jEHxHYHLO5WGG2c5NpG3f0AzPTTD SfL1tm0JPPsiPfViGW2IrrrtnP0EQZw5uCryn2u4XxeyWzShjeuPUmhh5s7n/TNtY8KW4M8Oaoy wi+0p83T0jf4V5aZZiQ== X-Authority-Analysis: v=2.4 cv=K/wS2SWI c=1 sm=1 tr=0 ts=6a22a572 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=fChuTYTh2wq5r3m49p7fHw==:17 a=IkcTkHD0fZMA:10 a=FelO9ux0wxsA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=yx91gb_oNiZeI1HMLzn7:22 a=EUspDBNiAAAA:8 a=uPx51MvRb-IBqrSjUCkA:9 a=QEXdDO2ut3YA:10 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-ORIG-GUID: rI317iU-iLRuO7f-c8IWzK9lg7Pzn4fF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-05_01,2026-05-28_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 adultscore=0 suspectscore=0 impostorscore=0 spamscore=0 bulkscore=0 clxscore=1015 priorityscore=1501 malwarescore=0 lowpriorityscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605210000 definitions=main-2606050101 The Qualcomm SoCs like LeMans, Monaco support suspend to ram which leads the SoC to ACPI S3 similar state where SoC is turned off and DDR is retained. The hardware design on these SoCs forces a constraint to suspend and resume the system on boot CPU / CPU0. If CPU0 is already offline before starting suspend to ram the freeze_secondary_cpus() picks alternate CPU as primary / last CPU and proceed further to invoke PSCI SYSTEM_SUSPEND. This leads to a system crash. In order to prevent such an issue introduce PM_SLEEP_SMP_CPU_ZERO_STRICT config and when enabled prohibit the CPU0 to be offline. Signed-off-by: Sneh Mankad --- kernel/cpu.c | 4 ++++ kernel/power/Kconfig | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/kernel/cpu.c b/kernel/cpu.c index bc4f7a9ba64e62d76fbb2b362f243c918defe5bc..1c878db1d9cb6df0e31cb553438= 51aab4e38a3a0 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c @@ -1478,6 +1478,10 @@ static int cpu_down_maps_locked(unsigned int cpu, en= um cpuhp_state target) */ if (cpu_hotplug_offline_disabled) return -EOPNOTSUPP; +#ifdef CONFIG_PM_SLEEP_SMP_CPU_ZERO_STRICT + if (cpu =3D=3D get_boot_cpu_id()) + return -EPERM; +#endif if (cpu_hotplug_disabled) return -EBUSY; return _cpu_down(cpu, 0, target); diff --git a/kernel/power/Kconfig b/kernel/power/Kconfig index 05337f437cca29da57864583166d7f9abd526507..0b342b3a4a5650a1927dc4805d1= 515e1d9e067c6 100644 --- a/kernel/power/Kconfig +++ b/kernel/power/Kconfig @@ -401,3 +401,11 @@ config ENERGY_MODEL The exact usage of the energy model is subsystem-dependent. =20 If in doubt, say N. + +config PM_SLEEP_SMP_CPU_ZERO_STRICT + bool "Disallow boot CPU (CPU0) offline" + depends on HOTPLUG_CPU + depends on SUSPEND + help + Disallow boot CPU (CPU0) offline when the suspend_ops->enter() + has to be executed by boot CPU. --- base-commit: ba3e43a9e601636f5edb54e259a74f96ca3b8fd8 change-id: 20260603-disable_boot_cpu_offline-eb4f55ac96f2 Best regards, --=20 Sneh Mankad