From nobody Tue Oct 7 18:25:15 2025 Received: from mail-qk1-f178.google.com (mail-qk1-f178.google.com [209.85.222.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BC8F31CAA85; Mon, 7 Jul 2025 16:01:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904072; cv=none; b=iIpmduxTf+A6Ct9P2L6Rxp9iO47tm42SOTkAT6RM+e5KcaHv44oOEiyMLOVO0D7BM3YwgE+wKwrZjnLK6/h4J3zvCLIi18LfJr2NTLDHmdmJFzFUCNW4mUPuQKyKmJ5jWTcEHj9XkM5+MV8YpHR5umh1SuwqIF7uVNgyDsE1Ucw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904072; c=relaxed/simple; bh=Jq5rya2jqyIEw+gHL6Gmj9Aao7CMRSAv2UZUv0oVQc8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=pMC1ZeXBZiG7ZkEOLKNBhsJ20zoOkI7PRShmpCyWdqB4vO7a2j437T4r0YCFoTaqa660cX2xDeMS41piuG/qRj9gNld0/Iek2Lk5JvFnh+FNOu/R1BiHi6Vjx/rDikt5Z1JyGqWZRT46uHrfVprV94kr6jbrdplE6ltln7kukq8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.222.178 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qk1-f178.google.com with SMTP id af79cd13be357-7d3f5796755so325566885a.1; Mon, 07 Jul 2025 09:01:10 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751904069; x=1752508869; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+wI06xDd3KMPf7PBFbeho4f71DSOiqWBSCgPPOMFntI=; b=uz0XqsU+oG8uZ3VsxtAZW3BdnJsfEP+R4mLRVMth+0epiGbcFJeQ+UVzwtYR6cQ04Q z+oEnRs1Db446CRJn7Z3exsTqD3+uemsRLh/dCvB4glZXBZV+7shfKqafqT+g2YDfz9m OBW6tZiNBmM9iE5VBX8Ihq17Y2k+b9bcGNang99fKATdCS83JrGBOJAfnpU9DyPBhfE+ jS+DpAXHK1BvX9YXxmZWEsa3EfCTfI38HCdTiSIOVhMY7MTYehv9D1YT4VHnGaYVZzCw RcWd4uusTvdy1SBlW8F+FKav5lq26gBCouf4ei8nJpxvuCkpyt41PegCGCKrf7Zv3yvZ YFEA== X-Forwarded-Encrypted: i=1; AJvYcCUyTeumexjt2vH2gzJbXWEkods24SbtHcKZHKxkScAyDsd9mYm5M0Paj0421lCEQbUMhU8NpKVjCqA81oXI@vger.kernel.org, AJvYcCVypvzXNTN4Uu3gEg7yxUqNE1gvK8/7rv2A+8NZL+LrxTCbG/mZnTj8VsJq75vtleHEjmTqQKjMjp0=@vger.kernel.org X-Gm-Message-State: AOJu0YwiwXiwgoEy8EeW1HuRR/rrH13DWxcf/fHYAS0thhxPuQG1d/q4 G8sDSHD07GZmV9fCehfufuKvrXsijMqdHVpng/vvQRDPzXL8rURQiV+W X-Gm-Gg: ASbGnctjcx3ObPhON+gAZyVTPIzQMA5I4ZjS6OhiYjvdPVVn6Ioz0t71rFK2r1VCipR mTT08NZ1c0PkFIBHjNTdRFmEtu4a+Na3DkD5n/nQPI2sQ/8tKhASZwfFKQKWQ74K7137X/8KFm0 2jHo/IZsNuH+IP0RtmidKH4YR/oeCqQieIvJbeY3oOKRx+AmroN/8qpBstcTrh3X19nLkkbg+oU 4N/Yt8apth+75E8WdghxdYniobzNH36WYt9KFjASv3w0V65Kl9Py8jizM1fJ9gzGkm0VZWAXJ8A OCFcQ77cEtbP5J5KcXoEEoKZd7gC4ROYyuBTUou+1qb48qA/5tIjWbuCEbn7 X-Google-Smtp-Source: AGHT+IFPK9/gPx1ZbaGNaw7eswyMM2L310plt98IyfAdXroPLTHAMtNmSktqVWPPuuyEr8/IsRIHeA== X-Received: by 2002:a05:620a:2949:b0:7cd:1d87:6c79 with SMTP id af79cd13be357-7d5f350e572mr1472918485a.53.1751904069330; Mon, 07 Jul 2025 09:01:09 -0700 (PDT) Received: from localhost ([2a03:2880:20ff::]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7d5dbdbdb3dsm623109685a.46.2025.07.07.09.01.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 09:01:08 -0700 (PDT) From: Breno Leitao Date: Mon, 07 Jul 2025 09:01:01 -0700 Subject: [PATCH 1/8] arm64: Enable VMAP_STACK support 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: <20250707-arm64_vmap-v1-1-8de98ca0f91c@debian.org> References: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> In-Reply-To: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> To: Catalin Marinas , Will Deacon , Ard Biesheuvel Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, Breno Leitao , leo.yan@arm.com, kernel-team@meta.com, mark.rutland@arm.com X-Mailer: b4 0.15-dev-42535 X-Developer-Signature: v=1; a=openpgp-sha256; l=1100; i=leitao@debian.org; h=from:subject:message-id; bh=Jq5rya2jqyIEw+gHL6Gmj9Aao7CMRSAv2UZUv0oVQc8=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBoa+9CB5n8SRVbBXjgzk5X9mZQlnynOZq78Sn3w igTEg7vOz+JAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaGvvQgAKCRA1o5Of/Hh3 bRtXEACdXX7XUhp94ssDfTSb/2jAteNG7IBhyhvkmD7yAR6hzxGRGUfXpA8+CPQaog8WCcvih4J T95eFz6M28TAA0w0ex8v7q+YYx1ajEqCTlfb0WHV2R7NFaN6VLwrJ2/VyZwAxp+nLNI774TOIAT TobzjUGikd2VH0iKlOMRxfJ5QQNve1G/rAbDQ1IQF6gIZftlwR6gBaphOC8zLiWuZY94UzQwDur QOnLXZWqVhIavCYxaUza2P+Y21/ZsqWfrdHvGoRs1f+pLbggOH8WGKC/PjUCOmThnesQRHcOfBU Cxta06dLVOjEhwsbPXnUTOHfcm0RPWpeNCfMmMgUKLYPhhoJnezkVnfYiZPLZBamkvqcQQuOXCQ PvONA/9Bda0q9MKuHoaUWojFblxLnyANfshagyj6WM1mQVY0Zs+FhTjl5fyPDMD11fCgAM71m7u jZVc2r7O7wjfLHqVqZxHyXu2L5zjoNZkXEdszj9dfNdEDQ5vdF3uxSgQeK9cuY2C1QiBxVMj7Gu S08YM8QJgKyKt8fDB6xKJ0QCGCmnnBQE2dPR7lAURI9ucmzB/GL56lUXmfP878w1ms/h/Gmm+wK maqRdLgDTQAcc8XJWf0Mle0ZlnvD6iZ+nZq3KtM6zaxobuWEa6aFzucSOORC6qaXSd5jbyZelBK sWv3SigvwOy/4SA== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D Enable virtually mapped kernel stacks for ARM64. This provides better stack overflow detection and improved security by mapping kernel stacks in vmalloc space rather than using direct mapping. VMAP_STACK helps catch stack overflows early by placing guard pages around kernel stacks, and also provides better isolation between kernel stacks and other kernel data structures. All dependencies are satisfied for arm64: HAVE_ARCH_VMAP_STACK is already selected above, and KASAN_VMALLOC is selected when KASAN is enabled, meeting the KASAN dependency requirements. Suggested-by: Will Deacon Signed-off-by: Breno Leitao Acked-by: Ard Biesheuvel Acked-by: Mark Rutland --- arch/arm64/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 393d71124f5d..179b302f43c2 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -280,6 +280,7 @@ config ARM64 select HAVE_SOFTIRQ_ON_OWN_STACK select USER_STACKTRACE_SUPPORT select VDSO_GETRANDOM + select VMAP_STACK help ARM 64-bit (AArch64) Linux support. =20 --=20 2.47.1 From nobody Tue Oct 7 18:25:15 2025 Received: from mail-qt1-f177.google.com (mail-qt1-f177.google.com [209.85.160.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CACCE225409; Mon, 7 Jul 2025 16:01:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904074; cv=none; b=sWU2/aUjt/dP0fPwKrUs8a509CXXxcIkZSVfBf+ni0222Sv/Be921xULFmrpC3hhjjd1jwi0+pg6+A4gjp8j5R43vYB2DmjBRqWmOiqHgbcEDuxB63bP3K6QmCG04kTRq7VcM8PImjCL5J5Avf/490Qt3CYKnXZjOeCZl+iqIww= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904074; c=relaxed/simple; bh=AWcDwEaXce/sX/AWhtimr7eCGYzpjHt9k/AolPLC7d4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aVECGOKewp9qVN7KM5aW8/gLWS/2mEWS8OkEe0/d1zpawyQYKwIRI08SeCSjTxi09qZh9MQeWZIwTTxv/g8l3fubwLhSD9GaqWZ54kT/aAJCbqMohBjAVEw+6dri3trWiVWoXHN9ZokFeNNW4zHW1+IC3MUT2QFXIUDnLQVlQnI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.160.177 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qt1-f177.google.com with SMTP id d75a77b69052e-4a585dc5f4aso43220741cf.2; Mon, 07 Jul 2025 09:01:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751904071; x=1752508871; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vFSE80Z52FJNEJJjSL/hUkB6ZfO89AG8l158WQvBna0=; b=spRJveAIzc//T0y2AT6Nlw4gMhDnELl8P6Ao+faAyzOlFrq9s/YtqFr38SUjXL8+kd Cooqd7dFY11eh5WbIoct4fDLYsjxXhpUEkArd03WrM9eYMCDlFnA8AlZduNPBYGgQu1p OyA4c+/ebe/LfHi7P7UVLfsNCXPiy/UBuCuujrbdkmmp86cCSPoEvrXshi4VKQXbTktU XFlvwYPVl1NC2xKAHUdYFTScI2NypJ1hLjXvpvedHNI3t2qiJ5cikKUJ28U02lXdpK2P KZPiGFdo3RdcttfIVDGpwUpaGH5YBmDmnR80Cu4BzQB9I5z/fcb3qVKzynKI3SsFY/KR zaLQ== X-Forwarded-Encrypted: i=1; AJvYcCVgaUSt1bvOuR3gB4SRdvSidtO6joYCPWlYi9XPPg75W9q7V1dvLN7+Uy09pMJ+AQ+jsHoQqLqqgD8=@vger.kernel.org, AJvYcCX3YH7pcuDbfPFJtFfdfo2JRAF1LbnYA0mVwOzvC25znHY+cuCxryX+hB2yTzrczYx4OWqn8lhpbODs95iy@vger.kernel.org X-Gm-Message-State: AOJu0Yz8eUcDxA7VCyxwdy94z8jjsDmRq6XwvHVHuTyt71Krf5YJ+ia5 AWYDyiDgJxelFCSW7F7J83PYFQyYNfMntGbOWhsql5QimtM0c78nCR3/ X-Gm-Gg: ASbGncsz+h0Fm8XBRp+TrxElXs1TGcORaGYNmfL5Thr2rONtlzEQhrPeqffwIDqKXS3 VJupcsNS4EQEbWrZ8KpXxJi+RY8ERrZ/9gu1nSeqVgQqmSZhsOZvvxmN7SG+Zo/oVDdVyeR7GEO o9HOazdPgLBoT2Ff5ue07fiAn+wwmz11EAsVhK21uOUzLlhRennH8/dNVhV5g/oASPeEASjx0DD dePWIf6Qs4ZAeGk1AMS09tGuQUhb1f9JR6XJQ9Bm2JY6Tn6U188e7+bAXD4QPLvAFwZcvaf04Fr zB2Ddi5558exlqPrFseS37jn+m57NLZfQGP3RpBCo42kQpzACgiOr1hgV0JB91E= X-Google-Smtp-Source: AGHT+IG2bDjz8U/jivIfo537GoxBEUIliWuiKoH7wAKCcIPUVfYDbgzZkFIFWWe60PAaWYZnb9UavA== X-Received: by 2002:a05:622a:4e8c:b0:4a4:31c5:fc8a with SMTP id d75a77b69052e-4a9a69abec4mr145687111cf.47.1751904070356; Mon, 07 Jul 2025 09:01:10 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:1::]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a7a9e9sm65925241cf.50.2025.07.07.09.01.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 09:01:09 -0700 (PDT) From: Breno Leitao Date: Mon, 07 Jul 2025 09:01:02 -0700 Subject: [PATCH 2/8] arm64: efi: Remove CONFIG_VMAP_STACK check 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: <20250707-arm64_vmap-v1-2-8de98ca0f91c@debian.org> References: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> In-Reply-To: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> To: Catalin Marinas , Will Deacon , Ard Biesheuvel Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, Breno Leitao , leo.yan@arm.com, kernel-team@meta.com, mark.rutland@arm.com X-Mailer: b4 0.15-dev-42535 X-Developer-Signature: v=1; a=openpgp-sha256; l=936; i=leitao@debian.org; h=from:subject:message-id; bh=AWcDwEaXce/sX/AWhtimr7eCGYzpjHt9k/AolPLC7d4=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBoa+9DX54jFJTcy8xfqR9DrHCzMBCal79scVSM9 jDCLskwppyJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaGvvQwAKCRA1o5Of/Hh3 bax4D/9MnLN2FeTuY4JCgIXmAL/UBGsGnXZX/ppObPSfuS3pvWI9ahzc9cBKO22ZeStDUDZEuml zDUmaDcXnzGPLOLo4JTg6FiEsgEvO3RaW8Wv7tiue76uKah5gUO4ROuq2TKYCaunQkHFAQzItcX x9xN60cmf/78rROdj0y8Tf/nzLt8p6/X6wJ/Q3VuVWZKsMZNhztyeIysjqK7RH9zZ68jM+g+k/3 n1UDQaN3GzxO32sOEc+RlOJiMsSiMV/kW1ezYAXovVFo5bGdIihJXhqV2kCjJN5G9deHf9jKFhy velPTGXMAGQAPY425E2KE8cN0jLAbdwc7EPzVOuMwLk5SihJJtTzwQ/pUrQZQG0BR9cY6F9wlfp qX+mlgpUaLojQ2k4oUSOfe5OsI6XwCmyq+E6EYrveGbOkg2sFYEqoVG836TJSr63eVmNvl686Zu ZxOmOQdxki+fDQ54AMDEuBPzWkZVbbIeF+RvXtp41lWgHTp5Vo6423fx0rUdzu8r+xB1wHAnE7d tPEve+xhW9vN1NjkDmXl0/Iu4sDyi1Pbi+bqH31qyTxXq84MBehRjTNqZaqHJCR5aiusR7pVUw1 olDRILYLMTxksa2sVJb3CqBFaAaCJSw1VNmmfZQQSbeyqymtibkezL4hR5CgFleTqUUQu+ye0I9 fXIf/Na0qPRXruw== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D Remove the CONFIG_VMAP_STACK check in arm64_efi_rt_init() since VMAP_STACK is now always enabled on arm64. The arch_alloc_vmap_stack() call will fail to build if VMAP_STACK is not set, providing sufficient protection without the explicit runtime check. Signed-off-by: Breno Leitao Acked-by: Ard Biesheuvel Acked-by: Mark Rutland --- arch/arm64/kernel/efi.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/arch/arm64/kernel/efi.c b/arch/arm64/kernel/efi.c index 62230d6dd919..6c371b158b99 100644 --- a/arch/arm64/kernel/efi.c +++ b/arch/arm64/kernel/efi.c @@ -215,11 +215,6 @@ static int __init arm64_efi_rt_init(void) if (!efi_enabled(EFI_RUNTIME_SERVICES)) return 0; =20 - if (!IS_ENABLED(CONFIG_VMAP_STACK)) { - clear_bit(EFI_RUNTIME_SERVICES, &efi.flags); - return -ENOMEM; - } - p =3D arch_alloc_vmap_stack(THREAD_SIZE, NUMA_NO_NODE); if (!p) { pr_warn("Failed to allocate EFI runtime stack\n"); --=20 2.47.1 From nobody Tue Oct 7 18:25:15 2025 Received: from mail-qt1-f176.google.com (mail-qt1-f176.google.com [209.85.160.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id EBD2D22541C; Mon, 7 Jul 2025 16:01:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904074; cv=none; b=sXANTAvaM5H0mMhe/tXCs+ppEk1po+X9qqYe5Wdq20cB7pTsMgyGc3fywlG4eMMK069VNOJfXIlVzPqY5QrmHXyRPrKCbQXG6ZtSIlhv4aVKMvq73/vQEFnKbhQembt4LqtHjLcsS62fkeMpw84zgN7dgCLxEZo/zf6V3eVmMr8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904074; c=relaxed/simple; bh=NbHeUY+lOtajZkUGdosjdc9I20/L5D/pDbD9Gk28XbU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=b5tfEPhvhmxo0DFMiDo9xBeY/Y6PepXbkBSGHl9rscF56EpWazLDUSCqqBQYNVqR692paO2T+LPrfcS1nPb6RS1C4SD6pitkQa3I3iMRX6prZtO9JHyToet3sVdGJ/ZxnLt1FMWPK/hsS2s3EFIJaEJjQ/0ywUbEdOGyET6TjQg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.160.176 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qt1-f176.google.com with SMTP id d75a77b69052e-4a818ed5b51so25172661cf.1; Mon, 07 Jul 2025 09:01:12 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751904072; x=1752508872; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=i/qtXs9s+QdBQr0M8ZCKL9CCSiHQeQvxN6ttPMxUpz8=; b=sbif0bHxHtOScYXI0cZFTCo+vRfqi3IRFd+kmYl0I9hC2K/dn0tXYNg6ZRlHzlvWJC EWkpSKZM9qdwPLyx0ug2fGvgjYWzBbuGTf7HVImxf5ZUiJMiAA6e/YdbdrNlhk7+HvLS wganEzefOWUy3SHPNfzY/p31+K6UlDgwGDsC+Jds3ugp3z+UirWC7uJ3lYInbhdSSdEA tC/HFaCKbIeeXWOSgSCz10jssjgU24iegEBtFTuYzrCaLWuItd4Eh/E/iHxK0Zzw6j5Q mcoQR45Mg/TO6j/sCCmYXX7OkHEegzr7a66j4gZ29k81tEBwM2jA5O9KSkafKJumaROj V6Gg== X-Forwarded-Encrypted: i=1; AJvYcCX1M4BpBJboWJUDK+qvT3pskhorLEL7iumGKSJ4HcLFMUS5QNw8/ibVHuKCYJ+0vvLPhDwZe12oQJo=@vger.kernel.org, AJvYcCXCLf7Q2oYm4qXHnwIC1xUD5hzcyBtueCbjMiSsOU7Q1ojirIcnAEpEXj8HyK5PJSRDhU0KRuOuyr9FMEHD@vger.kernel.org X-Gm-Message-State: AOJu0Yyo2074pt7VKtvwCm0RJqT4dMf32zg3X9r6LKdvIWxyXDh11frp F1DAkJ0xJe0Uo6PQ8MUYyGieCr9gcLxM5k0vxeBnLpwRWyl1x1bfRpiN X-Gm-Gg: ASbGnctE4jpOuq1vRjOi9fBltM5y/+T/BdGWM+/wUj411ae+ljaYSzWImai17VIrpCV TrZsSonxZ93r0NUWeQpJDjOwW10NLr5HwcOVQwtiXcrUeuQ0lJ69k0paWClU7UqagyuggKKSo73 rDYe7cyyvSZe+eB6Oi0OHLLjGfmQUziugluLF9NgRdDKhAU5E1Abh5ZxD/oFutwzVXV+sjms5Lc wwld/RzTVKBPs30Ce8RhPYRo945tWI63lS9ZU94hglsplTGdfz/dS+NkX2wsscMECK2J9VdZTNd 2s3e6NBilBO0TCqYqskt5raR4MXAWL2tfyDlNbynsRC4cly94XlWdw== X-Google-Smtp-Source: AGHT+IFpXMddctveiP/QMxx61ibzLPUrbrG9TwhgcDmq5K8qaNkqmg+HzPSadAi9ZoczsHtWQJPCSQ== X-Received: by 2002:a05:622a:11ca:b0:4a7:62da:d0fc with SMTP id d75a77b69052e-4a998692482mr169244441cf.12.1751904071495; Mon, 07 Jul 2025 09:01:11 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:70::]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994aa77d4sm64401341cf.73.2025.07.07.09.01.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 09:01:10 -0700 (PDT) From: Breno Leitao Date: Mon, 07 Jul 2025 09:01:03 -0700 Subject: [PATCH 3/8] arm64: Remove CONFIG_VMAP_STACK conditionals from THREAD_SHIFT and THREAD_ALIGN 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: <20250707-arm64_vmap-v1-3-8de98ca0f91c@debian.org> References: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> In-Reply-To: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> To: Catalin Marinas , Will Deacon , Ard Biesheuvel Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, Breno Leitao , leo.yan@arm.com, kernel-team@meta.com, mark.rutland@arm.com X-Mailer: b4 0.15-dev-42535 X-Developer-Signature: v=1; a=openpgp-sha256; l=1555; i=leitao@debian.org; h=from:subject:message-id; bh=NbHeUY+lOtajZkUGdosjdc9I20/L5D/pDbD9Gk28XbU=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBoa+9DPlSZXS9bOCF/XaXYyqeIru4s1W6wF6zBO BVU2VBp9JSJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaGvvQwAKCRA1o5Of/Hh3 bdv4EACwqmPF3xqi38Scok1Gw7W+ofu+/uQeH0vwEOK7PobxMJzQgLb0L/QOe8DaSMrg2Cbnq63 5xEsff8WqrX3KW0vqqUiwMVkTshGyWm08H8579SYW/T/LFfaMQz7ikDTR0GtETBH8ILxs8k1oA/ 0SCPggCCOFGoagXJjsFp0XO3fBBS07+t1UHpeooYP4HEcOM2NLJ/EYIqJ+i/BP6e4h5UtCHMS0F gTkPfQDco8ATKNsubQ7xKrET6cnxdoXoay2JMco4GpTsmL4AOCEHf1f1b1B3HgChGWrxX77E6g2 LYJXLpxAU+Xa+cG8LDeRQpj9KwZaptmQCHtQ+SFmx3biVchlLmvg8DCPZ3lLmHezRVt3NLA8kTZ 8hgjgYpkcc2WGY6kIsK7mQCkZl2smHj8ieiuWuBxFmuELclaLx3L/hQJdQ6qttgKHF8/s+cLdDf poJsCUg01hi50RtGNbIR/EY9VnbhtRMncplUFtycBMKCfI94juWbgxAZMHiytB2KOLUdBsQrs54 qc+Hj3BcVk1jJ6Q9o9r7ahPzvXIIdr0nZGEpkDagRknWFxVApWRp8ObRJH71II/4hE4A31bOLbZ q66MzoSnxFGwdze26wZafxZ+tfjb3sHsnsJDYj61MZdNfQEYgLtf13TfG/+pkWWInnnxiYjUnb6 8L1ZGwJKe7rDEMQ== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D Now that VMAP_STACK is always enabled on arm64, remove the CONFIG_VMAP_STACK conditional logic from the definitions of THREAD_SHIFT and THREAD_ALIGN in arch/arm64/include/asm/memory.h. This simplifies the code by unconditionally setting THREAD_ALIGN to (2 * THREAD_SIZE) and adjusting the THREAD_SHIFT definition to only depend on MIN_THREAD_SHIFT and PAGE_SHIFT. This change reflects the updated arm64 stack model, where all kernel threads use virtually mapped stacks with guard pages, and ensures alignment and stack sizing are consistently handled. Signed-off-by: Breno Leitao Acked-by: Ard Biesheuvel Acked-by: Mark Rutland --- arch/arm64/include/asm/memory.h | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memor= y.h index 717829df294e..5213248e081b 100644 --- a/arch/arm64/include/asm/memory.h +++ b/arch/arm64/include/asm/memory.h @@ -118,7 +118,7 @@ * VMAP'd stacks are allocated at page granularity, so we must ensure that= such * stacks are a multiple of page size. */ -#if defined(CONFIG_VMAP_STACK) && (MIN_THREAD_SHIFT < PAGE_SHIFT) +#if (MIN_THREAD_SHIFT < PAGE_SHIFT) #define THREAD_SHIFT PAGE_SHIFT #else #define THREAD_SHIFT MIN_THREAD_SHIFT @@ -135,11 +135,7 @@ * checking sp & (1 << THREAD_SHIFT), which we can do cheaply in the entry * assembly. */ -#ifdef CONFIG_VMAP_STACK #define THREAD_ALIGN (2 * THREAD_SIZE) -#else -#define THREAD_ALIGN THREAD_SIZE -#endif =20 #define IRQ_STACK_SIZE THREAD_SIZE =20 --=20 2.47.1 From nobody Tue Oct 7 18:25:15 2025 Received: from mail-qt1-f179.google.com (mail-qt1-f179.google.com [209.85.160.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 04AA7225A5B; Mon, 7 Jul 2025 16:01:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.160.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904075; cv=none; b=dAcybGq9FMMg/2rKICPQAUE5EN+FHp+64mTaKJzr32u0ajjxzacubD5ercZgMA1RNzYFwGmLKmXdH+ElwnnAWj5caZZwmV7TMi92D0bfb7sdhbIjUg+6l8BqGD2D3F3hRbNFvYCzG6EDksXCRrsrhZAA4nH+8IWcfkHsQqQNF7E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904075; c=relaxed/simple; bh=x8QOGtWB+FaUXQmrwaETRfFBKmxNNBcJSQRVAv+MXUM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=BpCuq3Ty3FX9T0qFdvu6hRAldXarR1eMaJjbHFKnRmCpa60bZvHN9bS3J3tgq+SNDVXYToxS6+fdHYbOuIvOiKTD8Zvo8+JZo/zt5YV53ZcXLD1jKa9k9r9CpDazv58Rnd40vdFZ4AjS0mHOGvbtXB2BWdKGX6/O3nHxc3b/nC8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.160.179 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qt1-f179.google.com with SMTP id d75a77b69052e-4a43972dcd7so42091061cf.3; Mon, 07 Jul 2025 09:01:13 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751904073; x=1752508873; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+jjHfgQa85l7Wa50vwlXdc5jSslJUPSuGPzeL+tkQOM=; b=LYiddVN8rcTg/uomkWc/UeqXOGCZSQJPSPIQ2pZ/xkWIjLA5zhABiA981jiickjI1f Wo7tMzVDE30DxbO4BK54CntFX/kmOYOyvKsOHoAaUomjizwYrmxWBtU5aZbtqHoBY2i4 mZ1NFvq4ifa0OGxirTO3BDuv5INhQUSYdeYdjZ+BWysx+mCfQxPv02MiJPcMm4JzYYD+ LI0p6qrdEgokjQwqDMsrCu0fkcceYY/tOTZRWMpChNnDHutZRh4S1XSWGqOAt2yudJ7d qnjaCNSe5wNTdH7PYHxN6XWjuv4A3bfPklDxwg8HanW1zpxDtFWuepqJtP+PpBMZOj0o /cNw== X-Forwarded-Encrypted: i=1; AJvYcCVniFLhXyEjx4YFqdsowlDnuoA01Sd+8EnP8A1KHvRH91kbmJcK9541iNDfeHJM1pTe4nLrh9bkXlgOtVg8@vger.kernel.org, AJvYcCX/MOtWf94aE/lltMO63wH54w/lIxZU1pa64gWRuc/pSzJ1fTUSVV7dRNHW3w5fadRK0VNCDmlxx18=@vger.kernel.org X-Gm-Message-State: AOJu0YzbbcEsUhdtkQVpLjI4leCsNGAstTGBWZBJFLCqqdXSdSSxqHJU AmAPSqmbv8cbupgrqxLTSc8OcnclBuLEUWampZdv7B08KPS1dnIBpkWE X-Gm-Gg: ASbGncuXgXT0b+Smx+AubBblp6ivmeDTCDE+Dzd7GcTMtEDXdMf2UXcJsB54mlTHIpt XeIVZVn/LbuNmdS+BH4pWQ35H3gn/0eDCpjxuap0QflGZlhQoCr/u14/bsIHRf4y+EpZ0LdRAoo 0A114VXxP/X1wn0bC79YvhNhvHjTN/1W9Se0iCPwIv3Y1sPKF36iPkI7yAH2jaGPxCYSsojSzh3 HytfbB8usp4ZyYmkwUJzOiaLR8cgQQS39k0iNHkLmNXHw2W2jpJ+YEJ15NfqLqR4NtSVWet/0Uc yhjKj3yMXKzNSLGs5Ca+fWo+FcDK/+mc7WipwBnGfmU7lPBoMlhugAT7/nNiIEBb X-Google-Smtp-Source: AGHT+IE5H4TbOWXiMtctRzGpVMXWMN9EKKkuzuG65fneNh4UquF4oGHK/oRc691OefT6XfNku9H7Ag== X-Received: by 2002:a05:622a:1a85:b0:4a4:30e7:782 with SMTP id d75a77b69052e-4a99868ee60mr169101571cf.18.1751904072585; Mon, 07 Jul 2025 09:01:12 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:70::]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a9949e4ca4sm64253881cf.6.2025.07.07.09.01.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 09:01:12 -0700 (PDT) From: Breno Leitao Date: Mon, 07 Jul 2025 09:01:04 -0700 Subject: [PATCH 4/8] arm64: remove CONFIG_VMAP_STACK conditionals from irq stack setup 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: <20250707-arm64_vmap-v1-4-8de98ca0f91c@debian.org> References: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> In-Reply-To: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> To: Catalin Marinas , Will Deacon , Ard Biesheuvel Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, Breno Leitao , leo.yan@arm.com, kernel-team@meta.com, mark.rutland@arm.com X-Mailer: b4 0.15-dev-42535 X-Developer-Signature: v=1; a=openpgp-sha256; l=1270; i=leitao@debian.org; h=from:subject:message-id; bh=x8QOGtWB+FaUXQmrwaETRfFBKmxNNBcJSQRVAv+MXUM=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBoa+9DSBRMI8Y7WDeHlaRNjWDgkbdHTVhzsSsvE KRxvRSyGF+JAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaGvvQwAKCRA1o5Of/Hh3 bVKED/9r+4+juSqRb8Mc4iBHI9xw8ErDqMCrI12SJuUy7IbUOWXvJslgGnAt1e10WTa6qR76JVx iSB9b/Yrz4mg83zDv/8Z0t+YZvKRbB+jhnIYMVE+MjYqTJo3EuJ+Zy6VW2jxtrrp/h650qCN+hj o1mxdHmMHP1zRooSOi0xkjJpSL+rBc5si5G6l7lwe4NWzo5enJg2qHhmw2WDpgPa0ZsRuqMz65O K1cJRDCPwsYUKioooZJZbSe9lp4sSAj0Qfz6iqE2Vx2SmiWTMKJdGWT30lM8U8aTka9YoVh1peX uqAWQUegb+45HGHW9zRqGBPZeaIBrWwcDI0cR4Qdv+f9fYqgbfTGC7UHimmG8RGbdC52rN5TY8b A/prszx8n/q0m01cL2elWUmWTTe5N1fHbTTuDWn1hpgwMx0kQhbwoQssJNG++g10yIsS6GiYbnZ 6Xz2ADX+bL+8GsWsd/UDv/X4Nl1Gyaze6myHfKKVtbxnpdoESx5M/PVd/5WPgQVQ1apqRgbVE4d kAFjNZ1tIgr39Az5O1q12sXbf1IIRCCbz+rpTUQJv2m9JgNJ2Pkng3OW/lzYH0GATE/rmHT1YPf e59OeqXrDonSvnEp8Ubx9UEM3bgcUNt/YFIif/MsXq1xPCZ21vW+P7YK2DRgdJwLzppREiJAURr TXjI9Mg28CTMZCg== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D With VMAP_STACK always enabled on arm64, drop the CONFIG_VMAP_STACK checks and legacy irq stack allocation from arch/arm64/kernel/irq.c. The code now unconditionally uses the VMAP_STACK path for irq stack initialization, simplifying the logic. Signed-off-by: Breno Leitao Acked-by: Ard Biesheuvel Acked-by: Mark Rutland --- arch/arm64/kernel/irq.c | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/arch/arm64/kernel/irq.c b/arch/arm64/kernel/irq.c index 85087e2df564..c0065a1d77cf 100644 --- a/arch/arm64/kernel/irq.c +++ b/arch/arm64/kernel/irq.c @@ -51,7 +51,6 @@ static void init_irq_scs(void) scs_alloc(early_cpu_to_node(cpu)); } =20 -#ifdef CONFIG_VMAP_STACK static void __init init_irq_stacks(void) { int cpu; @@ -62,18 +61,6 @@ static void __init init_irq_stacks(void) per_cpu(irq_stack_ptr, cpu) =3D p; } } -#else -/* irq stack only needs to be 16 byte aligned - not IRQ_STACK_SIZE aligned= . */ -DEFINE_PER_CPU_ALIGNED(unsigned long [IRQ_STACK_SIZE/sizeof(long)], irq_st= ack); - -static void init_irq_stacks(void) -{ - int cpu; - - for_each_possible_cpu(cpu) - per_cpu(irq_stack_ptr, cpu) =3D per_cpu(irq_stack, cpu); -} -#endif =20 #ifndef CONFIG_PREEMPT_RT static void ____do_softirq(struct pt_regs *regs) --=20 2.47.1 From nobody Tue Oct 7 18:25:15 2025 Received: from mail-qk1-f169.google.com (mail-qk1-f169.google.com [209.85.222.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DCBAE227B95; Mon, 7 Jul 2025 16:01:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904077; cv=none; b=QG0GYYhIVeudyg/jQBgYWWWzFuY9KFzBbMSKG0cCL8d97AGhTfsW6gC5GRwNoxJ/ji6dN8zBGZRNbiOArCjqnqEp9zRKXwoamIqEFuGQJXaHsqbKqw0XPmMP3DcBwGEjlb7NdY8l5GI/bGnbLi2WVboecUQcpxk80Eb2LTg00Jo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904077; c=relaxed/simple; bh=5drWDc5oXd3AK883ttFmO7WXoIPb6sPR/jXGD0pgwBE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Nmzk8MorTN5FI/x+hGrbxgE5pQorospCqDLlVYGa73gVjJS4DX9RBBBgZI0uj0suAWA2Wz2SEtx+dvVO5G8Cj2/WzjDkK+7mWUh8wRhri3SlKv33MJHZiFkbhleSSfPSQBlc51KY8TkO8cHb3owYQPS4Ac3yFgR5x0BPlJUmVkE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.222.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qk1-f169.google.com with SMTP id af79cd13be357-7d9e2f85ab4so1280285a.3; Mon, 07 Jul 2025 09:01:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751904074; x=1752508874; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=IrgNAnLwRn2xWXBcU7LK5V8pYA0AtM/f/iL+F5YZ9sg=; b=hij8gLzReA4N/VM/Lt/RzCv/nLEkyyTLqij/IJGNxmlhQvh6t0/8l2JNe10nzbY2aZ kImRWPLVDOB6Jcs3pY/C6oB5V2yKVXEWXULtCEHM8zDhlH6lonaBy9u/YzAG1HeR6tgB XZsku0DgBbUm+J6yemsDA/aPkcRe/jwVwP1OM5J1mym57ELO04NVsCFJ7ZPG+tjTO/dy +0i0fmN6Eh6Tgcwit5UvvNSsvhrLtxNQqd3c6bzW674UQd8s7miPF6TY4XrPbFJHUBuV knyY32uoA+GA+t8Ita1YB0p/FPu86Pwfl6xFUM60663CxM9w+SztGPR5KIbWPqO1KltO b7hA== X-Forwarded-Encrypted: i=1; AJvYcCVYFLA3hNWOZRecVZVaVoVX6/nq1EV6u7RrU3ja/PeFujxz6AZVY7QGVm7g0AybGiiJsQ6hheBoLiA=@vger.kernel.org, AJvYcCXQonFawER/mzDIdlnIvxQZ2l6OzMYD/kNqfdaA7jZPXl1wLWNe9ELWfOCe3Vh1pGZGSIkN6P8kxIBIyk8C@vger.kernel.org X-Gm-Message-State: AOJu0YyyUiotksGjQjj+wGtnSV1IuWKROjpUO2DYF9JBuf0jR5znTtiq E+Jie+shPuAxjz/2uXUuEEeLW6H0h1gH1cKIy8C1r1xulutv8NTX3+NE X-Gm-Gg: ASbGnct7xkzSiKqFv2ncafz+wqRof8bDTOBeeHvlGTjZLS1QQZYG5MMX1oh9j4119QI AmnVrMR6Ulh4/MFS29U+IDudEMKN9FqPzPkiYUGvOO23ddINLqUuTfXC2TYNlic0mWx9ESXya19 bSLxk3C1wQkfaNGmP125UKtJC0Qb8bFU0GSgl45TJxG5iYa01UZEgPU0DGJ/odV5efh9mkBSLhD Kon18R+yyBfj24tSREOtjwLtjcxkZ4jKeAxZdmFikTkcfI2i419CxjisnUgGBQCD3BOfiig9i69 BupPjjti8xx9VrqMXIbzI7TmC+9eHUjuBQMCTAOhPkk4fyd5dYfm X-Google-Smtp-Source: AGHT+IE9e54ymrDdjPY1o/eSOv9JmjvznkAlYOITwvMx+iy/OGxMy6N1ow+Ppm+kB1r46MxejqOcEA== X-Received: by 2002:ad4:5cc2:0:b0:6fa:bbb7:602c with SMTP id 6a1803df08f44-702d16fd78emr129400066d6.29.1751904073666; Mon, 07 Jul 2025 09:01:13 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:5::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-702c4d51057sm60731306d6.62.2025.07.07.09.01.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 09:01:13 -0700 (PDT) From: Breno Leitao Date: Mon, 07 Jul 2025 09:01:05 -0700 Subject: [PATCH 5/8] arm64: remove CONFIG_VMAP_STACK conditionals from traps overflow stack 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: <20250707-arm64_vmap-v1-5-8de98ca0f91c@debian.org> References: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> In-Reply-To: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> To: Catalin Marinas , Will Deacon , Ard Biesheuvel Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, Breno Leitao , leo.yan@arm.com, kernel-team@meta.com, mark.rutland@arm.com X-Mailer: b4 0.15-dev-42535 X-Developer-Signature: v=1; a=openpgp-sha256; l=1169; i=leitao@debian.org; h=from:subject:message-id; bh=5drWDc5oXd3AK883ttFmO7WXoIPb6sPR/jXGD0pgwBE=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBoa+9Dd1c+Eu7Q8qZ9IT1yzMt5+I30MUlacVUtQ d62wO7WMwyJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaGvvQwAKCRA1o5Of/Hh3 bQ+jD/4qLHnbTKM2jtnVQQ/KCVDophWXDMw07kz6aF8q32Ugjy/o1fTsiKrH8qTii0iPPAyt7uJ MzIXUWZ9Lo+Q799/9XXQrOzJStfroaB9HhHt0cHVA0Lt5Zu63BTbDnT07VKR/JKjrpvKlwBdOfu Q50vPIIuGA5NNsvh1VD7/YGNufcreGbl3wboRuY4FA53GK/xJZ4S6yh+YZPP3gW1m1i80kXs3BK wfAlihysAA7hKRPmUaSF8NHpJg2XpwVNMs+9T/wLjqd2TPtBnnI39M3rvFRYuz0DXeTON7zHhn4 76rSbx+uxB2onp1khrvS67w5sS8MUdmpaSmfYI115nMfgTvQ6sl1wWxtVewtPp1p5JBqAC+OsDJ t64nsXdYZbw3+QN4e4BQKe1H3/1780Mik0GFcH8tsdnF6FPFuRKRMcu/E2W8C+AKjDD5W1Zh9XB 8MRfcfM/UuvyikCohm0qQ2GS73+gv1jqKMpA+74bvzc0puANYS2GK4WAL7QgOYNsyVWr4OfVY0a 51FuJmAYuNxq9e3J5iEC6EVTr/AHX17Ecg2MCo+uUMYhmzqgBOcDS/dMXmYPW7BwbgwO6q5Nacn hr8xzIZ+/1kYdwHII1BW2mAeIVZnwnUCo4hKHmX58OQ11z5WWE5VtqrjLFzU8t9VXjllHKMDec7 X5romVmBxbAi4MA== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D With VMAP_STACK now always enabled on arm64, remove the CONFIG_VMAP_STACK checks from overflow stack definitions and related code in arch/arm64/kernel/traps.c. The overflow_stack and panic_bad_stack() logic are now unconditionally included, simplifying the source and matching the mandatory stack model. Signed-off-by: Breno Leitao Acked-by: Ard Biesheuvel Acked-by: Mark Rutland --- arch/arm64/kernel/traps.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c index 9bfa5c944379..6acbcffca650 100644 --- a/arch/arm64/kernel/traps.c +++ b/arch/arm64/kernel/traps.c @@ -894,8 +894,6 @@ void bad_el0_sync(struct pt_regs *regs, int reason, uns= igned long esr) "Bad EL0 synchronous exception"); } =20 -#ifdef CONFIG_VMAP_STACK - DEFINE_PER_CPU(unsigned long [OVERFLOW_STACK_SIZE/sizeof(long)], overflow_= stack) __aligned(16); =20 @@ -927,7 +925,6 @@ void __noreturn panic_bad_stack(struct pt_regs *regs, u= nsigned long esr, unsigne nmi_panic(NULL, "kernel stack overflow"); cpu_park_loop(); } -#endif =20 void __noreturn arm64_serror_panic(struct pt_regs *regs, unsigned long esr) { --=20 2.47.1 From nobody Tue Oct 7 18:25:15 2025 Received: from mail-qv1-f52.google.com (mail-qv1-f52.google.com [209.85.219.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 53C6922AE7A; Mon, 7 Jul 2025 16:01:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904080; cv=none; b=IxX34cDC75e9EWaTpZAdfNHwUYMjJMc7ieIoH3SouxtOh/om/0J/p4m+ia7/AoTWyhMEamjhmiBPerTdBodZh8AuGyBck0TXvd024cU6syiS1b4nupKGLU5jRw3YwWK4F0MKiIXfB0w39Poe2nD0fSdBw2KwSALrIL10yTdnOSA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904080; c=relaxed/simple; bh=HEsP6FRhBLVsu5oOeJ6JaIHNIKgCQ3Ji3HXcaP0CFGo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Wv6bcZSkcCwVsY3GviIFly4Fd+fShDIHr9o0qcKUTrE99wWRpQMTQMyK9xQeLcWkCnxQa0y0bT5XkFzUKGc9wWo+swwGSA8vpx9R1tqYfswbzFtVhyw671RKdrrhHgLktR/Cg5CzoR7SL9xcF6K9sezpqku92ZZMF3g+hX5kgOU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.219.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qv1-f52.google.com with SMTP id 6a1803df08f44-702cbfe860cso28930206d6.1; Mon, 07 Jul 2025 09:01:16 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751904075; x=1752508875; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=azrhXwwSRqDs6WGR50i+jG0dov5Ufcqav5n6HBzRID8=; b=ZYs5a8/hxjDyxOo1TXe5ifQpQ3yueNFnfrycbLBgXHkAoC3P69Zvt+jkgGmvIezYBR 15l9kacycQIl3sbSkqXf4unvBjRF1ic+Ubff0lV/wA85mPnZm8ec/fKan/oGkX/OALq8 yYx96CF8Y/nNNYvGw35Eaw/MCVN+jKhEvfoHTZZ4zXQ0EDPU01O019ZrTnIYBRlMabyG rbAyWlqFdAoP8QxV5GZKxtpX0JwJaXDpiHmLnLax60bZi9sbyDI1YRXi+hA1PweBZjVU pru3unavQ3Buh0bgn32qnXcJo7StMRSmuIYTEWAl37+a2h5v0jkdRABDGUD0p/+zsfq9 /WZg== X-Forwarded-Encrypted: i=1; AJvYcCW08o+OjZNUJIr1ObVC8mKr+sHn9OKs9SJdIkrpA4v9ZGHPwMElxhB5dw7fpVSn+ahZNIS/LFsaBO8=@vger.kernel.org, AJvYcCXlotuhnomrk/Arwb1ZckWzJDYfBf9RVxeh+nP4P0yOjhz49naRNhDtjHhzMVJWZDDnClO5HnoF/3s4dm4h@vger.kernel.org X-Gm-Message-State: AOJu0YzyK4YrqMnGQQWvCEgHTWO5vp1NO9Ehazwqqizuvj5gcYC9A8gw UCYXpoCcsHh9SswUliDOHEE55yu9sVKS0idLS81yAv4tFk/CmJ1uiTyP X-Gm-Gg: ASbGnctcr1y47Ble71tHiceSEyS4edGvKNz+gehOAT5jddcp8loHcgCpx5rmU4kIZKW 9ofzzxuv//tbeWy+MXaiBN0JICG9HaIcdyNFijZK4BJHJnOu9zxJx7VCrqE+hSHlILRj2GdhjBJ h5cvO/w7QPriwYIq711TR7xtfcgtLGofhu85rnDl64UZ38eVSveCmdoMEergWmzKKHIlvzirDsp DSm7dvT55q2tJrjufpIt3fyIr7oy8PK+2dWWUdm3yQLMu5JkuJbSGV5tY1AHz8CARFyc331bkai uIl3PQ/EC/XD+agBjHWMW026VTg0b1enEcxfqjGzoNLcfJ9hfmcjP+hsKhKjEOk= X-Google-Smtp-Source: AGHT+IEOlg/bSsDjADvTwJGpi4Y7rLBkSH9ctdKfnIYXL5M/SPU4bB68Er44RJ6wCBK+aQ3iVIv6LQ== X-Received: by 2002:a05:6214:230f:b0:702:daca:9038 with SMTP id 6a1803df08f44-702daca90d9mr76346856d6.22.1751904074741; Mon, 07 Jul 2025 09:01:14 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:1::]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-702c4d5af2esm60892326d6.104.2025.07.07.09.01.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 09:01:14 -0700 (PDT) From: Breno Leitao Date: Mon, 07 Jul 2025 09:01:06 -0700 Subject: [PATCH 6/8] arm64: remove CONFIG_VMAP_STACK checks from stacktrace overflow logic 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: <20250707-arm64_vmap-v1-6-8de98ca0f91c@debian.org> References: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> In-Reply-To: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> To: Catalin Marinas , Will Deacon , Ard Biesheuvel Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, Breno Leitao , leo.yan@arm.com, kernel-team@meta.com, mark.rutland@arm.com X-Mailer: b4 0.15-dev-42535 X-Developer-Signature: v=1; a=openpgp-sha256; l=2266; i=leitao@debian.org; h=from:subject:message-id; bh=HEsP6FRhBLVsu5oOeJ6JaIHNIKgCQ3Ji3HXcaP0CFGo=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBoa+9DeToTKZ9P9+l4x99+gzDIF6u9TTjOCkFDY Dc8qs14QyWJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaGvvQwAKCRA1o5Of/Hh3 bWGAD/wJAeOJY3J6xunWAWqNpO5kw4i663+Pxz8t1QmMI8SVOuASVwr0bVT5JYUpwMg5GXptiiy G1NokEQE/VG3X5pPG27SkTY1Q3Eoo1oU14xrk7sVxSQ9J5CnGEupty2+xDRpIeglWJEzmaJVKhR uMVldMmluY64L6UJm3e0+44rxUmMM8OW/DsI3+8CfX/xLALlkAOQ03r1JqaisYAtCEu6D0CrLyX iZaXIRWyVS6QPrgnEBDkzednMXLfVrrTG6aV+d5dFVWGI3FnIBcAu8PV1mc7r2BxhU+s+FAYA2e xxEmeac6GWZR4mcs3VYborzABwVpk4w6Skhttn/kyjH4qpK2wv+fjBLpderLOhDz+1FhFib478c a4BeUWhhzpvyxGxLLS9zyeRUpHj1n5LxETvagnWEm4FyeOrD8/C1QV2Z+tCKj02/4cBEHXMJ3zE m50pLQH/fuEKSuKM6j3nVm+rrG/sjYYlXgx658uMYdwhEbgzAPchIplLMJ9zw+zcmIFgPvs5HlB EnUrD4TeLY/2ukhHHCXUha6E6KqB1mJAbLsj+hacQXvvaXkSly2i16Aow9RlFRPrXeXqBcaAsIE 3qed4v6QJpmXS/hDIYhxPwUhqObY0wzXWYQyOdXP7ETpwfsHKDo2Fu2eE2YjJTib6PYM/STkRj6 vpLPlwIGJ9clv5g== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D With VMAP_STACK now always enabled on arm64, remove all CONFIG_VMAP_STACK conditionals from overflow stack handling in stacktrace code. This change unconditionally defines the per-CPU overflow_stack and stackinfo_get_overflow() helper in arch/arm64/include/asm/stacktrace.h, and always includes the overflow stack in the stack_info array in arch/arm64/kernel/stacktrace.c. Also, drop redundant CONFIG_VMAP_STACK checks from SDEI stack declarations. Signed-off-by: Breno Leitao Acked-by: Ard Biesheuvel Acked-by: Mark Rutland --- arch/arm64/include/asm/stacktrace.h | 6 +----- arch/arm64/kernel/stacktrace.c | 4 +--- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/arch/arm64/include/asm/stacktrace.h b/arch/arm64/include/asm/s= tacktrace.h index 66ec8caa6ac0..6d3280932bf5 100644 --- a/arch/arm64/include/asm/stacktrace.h +++ b/arch/arm64/include/asm/stacktrace.h @@ -59,7 +59,6 @@ static inline bool on_task_stack(const struct task_struct= *tsk, =20 #define on_thread_stack() (on_task_stack(current, current_stack_pointer, 1= )) =20 -#ifdef CONFIG_VMAP_STACK DECLARE_PER_CPU(unsigned long [OVERFLOW_STACK_SIZE/sizeof(long)], overflow= _stack); =20 static inline struct stack_info stackinfo_get_overflow(void) @@ -72,11 +71,8 @@ static inline struct stack_info stackinfo_get_overflow(v= oid) .high =3D high, }; } -#else -#define stackinfo_get_overflow() stackinfo_get_unknown() -#endif =20 -#if defined(CONFIG_ARM_SDE_INTERFACE) && defined(CONFIG_VMAP_STACK) +#if defined(CONFIG_ARM_SDE_INTERFACE) DECLARE_PER_CPU(unsigned long *, sdei_stack_normal_ptr); DECLARE_PER_CPU(unsigned long *, sdei_stack_critical_ptr); =20 diff --git a/arch/arm64/kernel/stacktrace.c b/arch/arm64/kernel/stacktrace.c index 1d9d51d7627f..e823320fe031 100644 --- a/arch/arm64/kernel/stacktrace.c +++ b/arch/arm64/kernel/stacktrace.c @@ -332,10 +332,8 @@ kunwind_stack_walk(kunwind_consume_fn consume_state, struct stack_info stacks[] =3D { stackinfo_get_task(task), STACKINFO_CPU(irq), -#if defined(CONFIG_VMAP_STACK) STACKINFO_CPU(overflow), -#endif -#if defined(CONFIG_VMAP_STACK) && defined(CONFIG_ARM_SDE_INTERFACE) +#if defined(CONFIG_ARM_SDE_INTERFACE) STACKINFO_SDEI(normal), STACKINFO_SDEI(critical), #endif --=20 2.47.1 From nobody Tue Oct 7 18:25:15 2025 Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 58D3D22DA1C; Mon, 7 Jul 2025 16:01:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904082; cv=none; b=EGrt2gwKSJHnDZGi9fOw1P0pcTxPJM9kthoZ3y03EAPA4A+gdb3E0w/9xUqPFzjUCyPdMOhRg0s0vov+iSK/ErtmOCtQ1rS9Q2c99A3kQLU6tyqqGsfeWJXM2yC0zD13+bZ3GSLWnb7B4QF102YQD+iSPeoNcgk7wxbtdE8Jg/M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904082; c=relaxed/simple; bh=XwtnCAizPM4mNONRdmM+LWN86wthex6fymK/baD6ebY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=i7b7o8qKeJLHolGSQ3w99KosL4uBL3aeTh9q9HvPi43bvs3mC1guAOtUg/RBVYM+r73O05Rif4WlkvAQALdRzerF4f/KgzGZc0KBizIDq2lU6kITgWrgVw1uUC4KnaV2uqbdaUk8tNRJSrPJtUh8/gA4kNdkswOSJexqFZD9PKk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.222.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-qk1-f180.google.com with SMTP id af79cd13be357-7d9e2f85b77so1802885a.2; Mon, 07 Jul 2025 09:01:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751904080; x=1752508880; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=NUXQYJBwA1uXvCLtyUP2xQTMFYJ+RrG3hsh4utkJxmY=; b=t8ITvL1oezzFKA1SXud64ck7+4ziyzmdAzN8i3cbtJSvxkSZb6+ZL4luku3WqAI+2u ErkiY3oU0ksUP/neem+RD4r08MWvRyDk5v0zc35Ql86Mnd60g92ihs4i5VO1WyeLj0uz CAYb4EslfHbS6xBOCymJ2puHYrfntB/WKGETPLzIl3ko0xxLrggphu8LcLb8JIDEblhX 4JyC8dA7OvsMR1VSGfXsMfxIrC6JhDxCRu2Xfr2wyhdX6ifKR4uBSsiebsqVD7aEH5dc Tshs8vO+nBXJAS9j/NW5tHTWnEnXBJctU+7Dp4PQqfmvMyEj0LMWPyPT94u0PVDvgini 7+Zw== X-Forwarded-Encrypted: i=1; AJvYcCXLE65/nPN6CGngEb3lOAryjL6IObegfBVWMM5e5kbmp0cwYXLbLJKVWWUnYj/lewlY7etLgZkBNirkLPGQ@vger.kernel.org, AJvYcCXv4/9tE1eJHin1Tc5tIsrqY5CYE92M1EC8cK3WCSZ+QiV+rIWRQ2uqvWtl/+SH9vTldprlOiYjDg4=@vger.kernel.org X-Gm-Message-State: AOJu0YwXhofEgGJ2qpPQL+s7MWWIYXM+PoBnm/U2tEpLq4sY4d3IL1wz gfW4Kdp1guf6cesNotw0/QRDNP+oMfiZzeSfoB2ZhVQ0XXyvEMlG3muu9IoSDJKX+wI= X-Gm-Gg: ASbGnctbJSWVt0HiSw720bPxBEBIkrF+5CG9FSyWh8YQP8TRxwwMxkG6su1N+BY319u GXunIC3D3UDIXYGkAaX41ADHbQ3dvv8N16c7ULXWeM9370zSuovi6BtEFNopCB25m6t0zTdX2bA KGVhT7Rl05qYk+uWpiclTLcJS775vyH750ExfQDU++cxOifWpXajtni/zp9KVW4zG1fkPZnET5i SHQVxxjHGwnM5byjE6vZbR58ZdSSeQuhUEYoGAsmNZTHc18rwLUDe6muEvupt6x2m/XgrOxOado uuE89nSaA/bfkW/uBR10R2hUNyNvG9jryXeqm1qzCr18auRcMcwh4g== X-Google-Smtp-Source: AGHT+IEYTHvTkTF6zJvYOnCbSBqGLN3AcGqauqLf5dj2dNagR9TYhmsTSLG+AMquAUaI9gWUZKIT4g== X-Received: by 2002:a05:620a:40d3:b0:7d5:e3e9:72ef with SMTP id af79cd13be357-7d5ef4e251dmr1463325585a.2.1751904075735; Mon, 07 Jul 2025 09:01:15 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:71::]) by smtp.gmail.com with ESMTPSA id af79cd13be357-7d5dbd93f73sm631776185a.4.2025.07.07.09.01.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 09:01:15 -0700 (PDT) From: Breno Leitao Date: Mon, 07 Jul 2025 09:01:07 -0700 Subject: [PATCH 7/8] arm64: remove CONFIG_VMAP_STACK checks from SDEI stack handling 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: <20250707-arm64_vmap-v1-7-8de98ca0f91c@debian.org> References: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> In-Reply-To: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> To: Catalin Marinas , Will Deacon , Ard Biesheuvel Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, Breno Leitao , leo.yan@arm.com, kernel-team@meta.com, mark.rutland@arm.com X-Mailer: b4 0.15-dev-42535 X-Developer-Signature: v=1; a=openpgp-sha256; l=1801; i=leitao@debian.org; h=from:subject:message-id; bh=XwtnCAizPM4mNONRdmM+LWN86wthex6fymK/baD6ebY=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBoa+9Dn4x8YaJSTfJb7G6Cqhkv+jOC8ONk9zFsQ iJ/WqLC2JeJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaGvvQwAKCRA1o5Of/Hh3 bdBaD/0WnjGPnhJAL5zph1bBb1N+rPYW83xmPGrHb/uE8ea/eHdf9sjhMixTh4XIS2rWn+BoJIJ yrzVYU9b1GCCy7EKVnZR57WdC2QjLYLIy+06DrLmMFP9w/HgXYBNyZlqkgrLySg/0iLeSe5YITF ZtoyaK89w3z4ZWgZHxssNnOU+CtqEpWGAdr7ABlGRK+tMTWtX+OWgkXsJ7YlgLusVoCF+Q3BQnM 0/kceN+nBMjFrTcHcFdR51pHofMZWp52FXcLcME03j8CQPL9v4T29LSXMix2fthIGSt9k7xnQBM pRsh5Yl61agtI3jd9uyaIX39pp/T/+XP1pncmXsIISPjH7b0NJ/zK4grwB4pn/EwNHCsNAPCVDx OBMC/JXUq37wv3Kh+g33WR5IVJAD0dVIW4gqayr/eZsYfmaN0ZLcJlwfyCz94gbA+FlhSQ3AyMr epM20hCAWFByqbyBUdbtztTy1GvCqfkds1S3zU2KRNO9Y2gsLfaoj+6JM1tMxc/xau43Bn9CB2D D+pRSiXs4WoXkXdpxN/khuJeTxOAmFRvwSqtLX9uN91LTS3FPLjhubLBMogjtKnxBhCI+P8st2A ZnTYEoi0LeqOBkd2WB5VHzThRHEg4nsWc03pJbFqs5oqrHMAUIuRjaKe8ll+6fsTvBztX/qR2YY oSuXfvD7AMaGXmQ== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D With VMAP_STACK now always enabled on arm64, remove all CONFIG_VMAP_STACK conditionals from SDEI stack allocation and initialization in arch/arm64/kernel/sdei.c. This change unconditionally defines the SDEI stack pointers and replaces runtime checks with BUILD_BUG_ON() assertions, ensuring that the code is only built when VMAP_STACK is enabled. This simplifies the logic and reflects the mandatory use of VMAP_STACK for all arm64 kernel builds. Signed-off-by: Breno Leitao Acked-by: Ard Biesheuvel Acked-by: Mark Rutland --- arch/arm64/kernel/sdei.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/arch/arm64/kernel/sdei.c b/arch/arm64/kernel/sdei.c index 255d12f881c2..6f24a0251e18 100644 --- a/arch/arm64/kernel/sdei.c +++ b/arch/arm64/kernel/sdei.c @@ -34,10 +34,8 @@ unsigned long sdei_exit_mode; DECLARE_PER_CPU(unsigned long *, sdei_stack_normal_ptr); DECLARE_PER_CPU(unsigned long *, sdei_stack_critical_ptr); =20 -#ifdef CONFIG_VMAP_STACK DEFINE_PER_CPU(unsigned long *, sdei_stack_normal_ptr); DEFINE_PER_CPU(unsigned long *, sdei_stack_critical_ptr); -#endif =20 DECLARE_PER_CPU(unsigned long *, sdei_shadow_call_stack_normal_ptr); DECLARE_PER_CPU(unsigned long *, sdei_shadow_call_stack_critical_ptr); @@ -65,8 +63,7 @@ static void free_sdei_stacks(void) { int cpu; =20 - if (!IS_ENABLED(CONFIG_VMAP_STACK)) - return; + BUILD_BUG_ON(!IS_ENABLED(CONFIG_VMAP_STACK)); =20 for_each_possible_cpu(cpu) { _free_sdei_stack(&sdei_stack_normal_ptr, cpu); @@ -91,8 +88,7 @@ static int init_sdei_stacks(void) int cpu; int err =3D 0; =20 - if (!IS_ENABLED(CONFIG_VMAP_STACK)) - return 0; + BUILD_BUG_ON(!IS_ENABLED(CONFIG_VMAP_STACK)); =20 for_each_possible_cpu(cpu) { err =3D _init_sdei_stack(&sdei_stack_normal_ptr, cpu); --=20 2.47.1 From nobody Tue Oct 7 18:25:15 2025 Received: from mail-ot1-f54.google.com (mail-ot1-f54.google.com [209.85.210.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 934CB227B95; Mon, 7 Jul 2025 16:01:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904081; cv=none; b=PXZ/n42PYaL4R9eRT/KQR4I/lzCjMfzqBJ6IP71JtQSzftD5qW1GCGle976DmJ5LUnANiVvdnrxuZOy6kY5pJtsSDAXk5nnv7b29DdNgVhDg046jcFz28iFeEvMaxVywIltSDJmhRVyqAGg6yZ/GypWthuto+Om2eSPl7CvoH00= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1751904081; c=relaxed/simple; bh=SpJY3fhXbav7+6i1hQjyLYm6it6IH1zUVNjqCbrE6Do=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WUGifiXL4RmJyxGiLFQ1xOZ/zLaZbBDh0MTYjAKutkw5oD4z8JlgJ4dPaB5TJ0VQdA9Jfy9cgVagE8zqDhI3H4lHM9xb7a0T67pK5RjsQKyFEGXfgaiKI9ZZEeYOP1MAJxM84XGvoqUOSRv+sPNjl3GLvi8e8bkjcLpkEvVhy+M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.210.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ot1-f54.google.com with SMTP id 46e09a7af769-73afbe149afso1908806a34.1; Mon, 07 Jul 2025 09:01:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1751904078; x=1752508878; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=BZyHbcEpIHcb4Jlgq55+r5DAR+ggDwdS7Cd6ZYrxC2k=; b=O6kW/pw9JTHKzzvocLZ5MxZb6iiox68R56A6PEYaYtcYjmKkXe69mUeDKogXcarWFZ WNX55zO4zf7TOi+QvrDvfAoivIGyNAkVjcUpyU5qFouW8/em//vtITKk608sbWa/L+v+ VQYsA67sQaVl5cH5LVI3P4DaPkrNJzj5m3dyF9oBdVftFfp2qSkkI0zZvMc4ExNzvASU X+MZ9dbR50CWh6J36AHHLtjktrWNKZRXhw7p3qgLjFxu4+TM30SNBrZQcLUT9DvoWTwI xr4TFv7zIn3uVQNvSwGvOgPAvOih480zzUxqYFPdaCaUxUBhism7YO3ClRkMhjxgx1+3 Pl/g== X-Forwarded-Encrypted: i=1; AJvYcCVUWd89X9HAEWmvHivy99sbo3iiRF5aVe0wMqVQA8xW0Z+zhR3cYBGf0jBa/V3pyzpYTESYMv8lX7Q=@vger.kernel.org, AJvYcCXIkw85GqerWTIkQDfCyM4nPjnMIUzwgCu4ohgVFIUtXKlpdTZfGX/Wswbxa5fl0QfZgWqpodhQjqSLrLke@vger.kernel.org X-Gm-Message-State: AOJu0Yyt9ywn28QPJ0KJzWyjQY1PAffCjrBofWulySy2cqsxtYkW+gwu tUgzMEQDwhmDolHOKONCrqL2IRht7QXgILlvGUIPnqhgVWr2RWqIOwXJ X-Gm-Gg: ASbGncuZFpENia/EP8fgAnKNVLfYcHyLtZEnuNJhOTMLp7FHkyzza+nTqCKuzlA5z6b HMdeHcCH2VLAs5lfywdfgaevy+L6Efs3+j+p3ITw+AXUekGQ8cSFBm3hynTqZxQ42skR2XsYGwq KcSDUN295YgI8VHT2SFLXrU4YWk0kZUJBUA1IJXDcgBlJoCKW8uq3cXZayTweGp2JyIwpHn+VDo GksRovg3xvZrOXsBggD1MzlzOUHa8OAE+NiM900C/fS0iIdDeRqtYlvqvwqtH9GCelo3AAve4Z0 AvHRZuuAff2JB4y7BShobk95Dm3uGYi4UX1PwCKObY+Od7b78zHZ X-Google-Smtp-Source: AGHT+IHt1sjKHYTGHSbsa3LdCzMj703Wfw0OjPmPEUwmP5aO/wwWD1Hxc2s+gXBcRn5ix8Gu2LXRmA== X-Received: by 2002:a05:6830:6b04:b0:72b:782a:56d7 with SMTP id 46e09a7af769-73ca6745007mr10297544a34.23.1751904076752; Mon, 07 Jul 2025 09:01:16 -0700 (PDT) Received: from localhost ([2a03:2880:20ff:2::]) by smtp.gmail.com with ESMTPSA id d75a77b69052e-4a994a79d83sm65557021cf.39.2025.07.07.09.01.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Jul 2025 09:01:16 -0700 (PDT) From: Breno Leitao Date: Mon, 07 Jul 2025 09:01:08 -0700 Subject: [PATCH 8/8] arm64: remove CONFIG_VMAP_STACK checks from entry code 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: <20250707-arm64_vmap-v1-8-8de98ca0f91c@debian.org> References: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> In-Reply-To: <20250707-arm64_vmap-v1-0-8de98ca0f91c@debian.org> To: Catalin Marinas , Will Deacon , Ard Biesheuvel Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-efi@vger.kernel.org, Breno Leitao , leo.yan@arm.com, kernel-team@meta.com, mark.rutland@arm.com X-Mailer: b4 0.15-dev-42535 X-Developer-Signature: v=1; a=openpgp-sha256; l=3002; i=leitao@debian.org; h=from:subject:message-id; bh=SpJY3fhXbav7+6i1hQjyLYm6it6IH1zUVNjqCbrE6Do=; b=owEBbQKS/ZANAwAIATWjk5/8eHdtAcsmYgBoa+9DK2XBJNN33VPVxsbIlAeoiErIg0yYi/CMe lbtcKhUf7OJAjMEAAEIAB0WIQSshTmm6PRnAspKQ5s1o5Of/Hh3bQUCaGvvQwAKCRA1o5Of/Hh3 baczEACH+7Iy/gS1E569TTC0JPxylOD1BvTxKYcTuK79Epss+CVFf/Ya8UxX5y5+3Cj9I/ifUjK IC8Xqa0Es/gvsQITiiALeWarykzD2PX/l1NRUMg4HSYLPrfRkfGgVv5DGw37+11gGXcivx4mORr l8mvcTYTFA6baG1/9vNRUEYqNOVEz5YmLIgxGb3Ht1LvgEdu7sEsMl3GywiWXONKRtWrL2iOrUP 6AAb/F01FmxHgrXuW+KKBuw9nspPxcjwtBTmsc4xES1eD3zfcYNnHLCgR5osr7mxkw61x4PpgLH hF5ps2JgWxZWXYd4ep55SvUWSZlx6m21FDNT7hB91xQi0VjLOiAejob1cUuzfXPNIk7EDeRL7FO Ofyc3nytJWBpD7BvJ2IFRxBaK7r4dEQmc795w2GlVE4XuczhHeXNHQZMNip9/ZLzs4GaHqqKk5n S3MGjT/i1WNlKlEN1NwVP7Qn5MTUnhGyz997u5+71zomYeKObrZxRx8UjGYv4AAvwYDpm4RQGNe HqNdIWsouz2uwEW41YMzVN8dog6MYHIhx4WXc74GXa36y4v9ImK8fx1fNvLGkXpVMNz7UesNLA7 uxKgwLNTVRVZcGvmKdCUIVkR0uxIa/MA4W8hZnWl3rp6If2jTMkg8hrpOP14RyLcBZAFFwqSbXM MEJMj0ToT+IrnTw== X-Developer-Key: i=leitao@debian.org; a=openpgp; fpr=AC8539A6E8F46702CA4A439B35A3939FFC78776D With VMAP_STACK now always enabled on arm64, remove all CONFIG_VMAP_STACK conditionals from entry handling in arch/arm64/kernel/entry-common.c and arch/arm64/kernel/entry.S. This change unconditionally includes the bad stack handling and overflow detection logic, simplifying the code and reflecting the mandatory use of VMAP_STACK for all arm64 kernel builds. Signed-off-by: Breno Leitao Acked-by: Ard Biesheuvel Acked-by: Mark Rutland --- arch/arm64/kernel/entry-common.c | 2 -- arch/arm64/kernel/entry.S | 6 ------ 2 files changed, 8 deletions(-) diff --git a/arch/arm64/kernel/entry-common.c b/arch/arm64/kernel/entry-com= mon.c index 7c1970b341b8..99a341ee7131 100644 --- a/arch/arm64/kernel/entry-common.c +++ b/arch/arm64/kernel/entry-common.c @@ -977,7 +977,6 @@ UNHANDLED(el0t, 32, fiq) UNHANDLED(el0t, 32, error) #endif /* CONFIG_COMPAT */ =20 -#ifdef CONFIG_VMAP_STACK asmlinkage void noinstr __noreturn handle_bad_stack(struct pt_regs *regs) { unsigned long esr =3D read_sysreg(esr_el1); @@ -986,7 +985,6 @@ asmlinkage void noinstr __noreturn handle_bad_stack(str= uct pt_regs *regs) arm64_enter_nmi(regs); panic_bad_stack(regs, esr, far); } -#endif /* CONFIG_VMAP_STACK */ =20 #ifdef CONFIG_ARM_SDE_INTERFACE asmlinkage noinstr unsigned long diff --git a/arch/arm64/kernel/entry.S b/arch/arm64/kernel/entry.S index 5ae2a34b50bd..ea74cb7aac5b 100644 --- a/arch/arm64/kernel/entry.S +++ b/arch/arm64/kernel/entry.S @@ -55,7 +55,6 @@ .endif =20 sub sp, sp, #PT_REGS_SIZE -#ifdef CONFIG_VMAP_STACK /* * Test whether the SP has overflowed, without corrupting a GPR. * Task and IRQ stacks are aligned so that SP & (1 << THREAD_SHIFT) @@ -97,7 +96,6 @@ /* We were already on the overflow stack. Restore sp/x0 and carry on. */ sub sp, sp, x0 mrs x0, tpidrro_el0 -#endif b el\el\ht\()_\regsize\()_\label .org .Lventry_start\@ + 128 // Did we overflow the ventry slot? .endm @@ -540,7 +538,6 @@ SYM_CODE_START(vectors) kernel_ventry 0, t, 32, error // Error 32-bit EL0 SYM_CODE_END(vectors) =20 -#ifdef CONFIG_VMAP_STACK SYM_CODE_START_LOCAL(__bad_stack) /* * We detected an overflow in kernel_ventry, which switched to the @@ -568,7 +565,6 @@ SYM_CODE_START_LOCAL(__bad_stack) bl handle_bad_stack ASM_BUG() SYM_CODE_END(__bad_stack) -#endif /* CONFIG_VMAP_STACK */ =20 =20 .macro entry_handler el:req, ht:req, regsize:req, label:req @@ -1003,7 +999,6 @@ SYM_CODE_START(__sdei_asm_handler) 1: adr_this_cpu dst=3Dx5, sym=3Dsdei_active_critical_event, tmp=3Dx6 2: str x19, [x5] =20 -#ifdef CONFIG_VMAP_STACK /* * entry.S may have been using sp as a scratch register, find whether * this is a normal or critical event and switch to the appropriate @@ -1016,7 +1011,6 @@ SYM_CODE_START(__sdei_asm_handler) 2: mov x6, #SDEI_STACK_SIZE add x5, x5, x6 mov sp, x5 -#endif =20 #ifdef CONFIG_SHADOW_CALL_STACK /* Use a separate shadow call stack for normal and critical events */ --=20 2.47.1