From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 52D05CEE34A for ; Wed, 9 Oct 2024 20:49:11 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D2B056B009F; Wed, 9 Oct 2024 16:49:10 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CDA006B00A0; Wed, 9 Oct 2024 16:49:10 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B84EE6B00A1; Wed, 9 Oct 2024 16:49:10 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 987DD6B009F for ; Wed, 9 Oct 2024 16:49:10 -0400 (EDT) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id BD4E8A774D for ; Wed, 9 Oct 2024 20:49:04 +0000 (UTC) X-FDA: 82655253660.08.8B77983 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf20.hostedemail.com (Postfix) with ESMTP id 50AA21C0017 for ; Wed, 9 Oct 2024 20:49:08 +0000 (UTC) Authentication-Results: imf20.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=jwwzqOcs; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf20.hostedemail.com: domain of nathan@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=nathan@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1728506798; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=u2btPmV+R8EOxNuid+2WRlSjJyyF0vrlwLwFd5PAVbY=; b=0XliIxOjWTQptMDAZOsOvZnlIU1tsvzoLRSRcnZ3N8pPOPxgyexoVGkWvlK3tdchuQkpJq pZMFd/+ZrZ+1lLEZSwQCYlVM9Yd3haIWoa5wpz30PiJTFn5/zZ/97LTDz4UnkDwAtepDCU Q6wt33IT3Y8S2j4q60OcekhkSjTiu5Q= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1728506798; a=rsa-sha256; cv=none; b=eCWCkHXz5JGccD3RYk1Q0wi9BNfNHkH+vMT2BcOp99+Z7qOY9QQ67j20XyjNc8KyJYWuHe VxsdXysOLeo+UkB4Kgk9MgiTp+eDKxLk1b5VCG7hH0apP/oCxl25cL0KPUjiP/vHJHq26r JJI7+I/CUzNfsXBjAhuVyk0/6oJ0N3s= ARC-Authentication-Results: i=1; imf20.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=jwwzqOcs; dmarc=pass (policy=quarantine) header.from=kernel.org; spf=pass (imf20.hostedemail.com: domain of nathan@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=nathan@kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 50F705C57B9; Wed, 9 Oct 2024 20:49:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 265F0C4CEC3; Wed, 9 Oct 2024 20:49:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1728506947; bh=OFXVpQgisC9iUKGKv5IwiYtmzwJhlFDr4RbKRl3vukg=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=jwwzqOcsIgLrThOk8MIptc37fnC8WhDVG/Ifwy2LQsuL0Z4HqID9q3xo5GmNvlMWw eNl92ym/ChcRd1xr8+UyxVIbPr10zOFe2v1P26pHi8j4KqfQyFTCtdCTtFkYDvoNCn 88RqmptFKK8mFSlpJ/NIdqjRbl+D0uHhq6eywBIxXm9OdZjAQYAt25M4X1nG2Vsv2K iLRcywG3rMMJHxFwy+hAioNwJTf5J1HHiOHMA8h9kEwkXiiZg8fdreE92CqvaoCeOu aIqJ9lyhQQPATY+NFOgQp6C5iagTBhJ3J8KAevnqDwaRN2s7JeRpB7lhsFX2JgZc0M kTUhwSaWl5MMA== Date: Wed, 9 Oct 2024 13:49:03 -0700 From: Nathan Chancellor To: Mark Brown Cc: Catalin Marinas , Will Deacon , Jonathan Corbet , Andrew Morton , Marc Zyngier , Oliver Upton , James Morse , Suzuki K Poulose , Arnd Bergmann , Oleg Nesterov , Eric Biederman , Shuah Khan , "Rick P. Edgecombe" , Deepak Gupta , Ard Biesheuvel , Szabolcs Nagy , Kees Cook , "H.J. Lu" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Florian Weimer , Christian Brauner , Thiago Jung Bauermann , Ross Burton , David Spickett , Yury Khrustalev , Wilco Dijkstra , linux-arm-kernel@lists.infradead.org, linux-doc@vger.kernel.org, kvmarm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-arch@vger.kernel.org, linux-mm@kvack.org, linux-kselftest@vger.kernel.org, linux-kernel@vger.kernel.org, linux-riscv@lists.infradead.org Subject: Re: [PATCH v13 11/40] arm64/gcs: Provide basic EL2 setup to allow GCS usage at EL0 and EL1 Message-ID: <20241009204903.GA3353168@thelio-3990X> References: <20241001-arm64-gcs-v13-0-222b78d87eee@kernel.org> <20241001-arm64-gcs-v13-11-222b78d87eee@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20241001-arm64-gcs-v13-11-222b78d87eee@kernel.org> X-Rspamd-Server: rspam07 X-Rspamd-Queue-Id: 50AA21C0017 X-Stat-Signature: n3sbkxgqt3zsd8bxit9f86hiad39497x X-Rspam-User: X-HE-Tag: 1728506948-32275 X-HE-Meta: U2FsdGVkX1/kPi1/Y3rWT8KfC79VMpjhLUZLomlax6Db88bNOglrWpPwNgcoj8UYHvFRALPvDczmaXRHKg0LC/wBCsA2gp+s0AvLwiM5pFVJMG6WqNzzxCWK3GIIQ6SNUlo76yLzHnk/m903f1FxfbMewYHoHWMga2sJsUVeIDnv3Sz34OMfrYXIRhwgofxWvwnvXeWvhbUhvnKCtkAKMvMY8U8DMDW62v8gdjYy87Eh9U9pNFNGxfSuC0OBRBtAjCp5YgukUn2clsWMDPny79tLPM1EwKkdmaKltCkmDD4Z3mzKY7t6VBBW8M7+f6FWRwiHojyITo016Tn48biiJaaI5BoxUVmwuQNQ+ZIQL7bVDr64GjCQe2PYZMGUzC4qDz4TR92brWse44eB1nCFbJygUM23hZPy+Z0Klukjcg+M8vXyryvtWNPaaftSG4iCddhPPNoqOtb98PRMU1xEUymR2WRkVcRAiWLelrGqc344RyNN/+/wUDR0FR16qMYZk963AdMsh+SMaDAVkU8zAK6zcr4p6fe6HucXVzb0NAN+XD08ypTnubwMVuC7b+zIzRusIhjxcKMrM+i/UwqJWlzzOBGgvtn9ySnkuVxNq6kgnihhnufleRCQK+qqZLNersKscNJoyClav3SbsFh1GRs3K4rgSrNypLU8HYYpsWegqAoNn0Y/D66IoPyW2zjXX+JY5+15/xfVeXMF2zP0JZJq0WgAhvFVfxhvjc+2OJnSuHtNSC+Xi06NjhQ0iMEAxRKJqghd6h+OHEdbT+io3abIkOo5jiMFQ3CLzok8XwePF+psIpPVFN1jNKTJm0inS0NqvTHNRetvinhPKDG9tL2gsxOZYTsaDAQ2YwVWS+vzIIGXK9ud61fCcGZ7odHt8HRm2v4zjSBplC6YtoGarLPB92TYyMUnwAIijznZxh6GzJcSN+lNzbF9ARO4z1Oi8uQXDUqs9VwXI0/Y6gG EJkjS9Bx DOc54bOEa9QPeV5h98axwoLorIrTyIu864HpZ0FbuwdN7aWelqjX/o7JsHIXLgSxJ96caCkqIN+f3WTbiPUrk4eGGGeYK2ZsnXDwVX9K6tMTG8YNxUB0KcgTl7qMFmqtsAXxWqog/cJtZEmuDBb7KrZDx9oYR3sYeTO1F6eesePyl5kUjgEaVz1DHgbA31J8yxUn8DRarOhy0YrbRWKpqTVabBIn6CsRSMJpWFploNZfdw5JVvPn30hRnflA8PInkoDKMWop6cw+nye5Z6TJCPTeiqOkDvfd32ZrvSm3ffhEHrsxabwbiqAhIBHXzh/lt3GtddfwnyCkXUIoB7NiV9UaUiGdpVWVdT9SdlPtUi6y6T4IOoAWMFhnGvYtVau64znVCV7hV0WK5y5AfG2NAZahioV4B15gnj6EQ9UC3KLahmPtdb9eaDc5WO9KOz/tzSn7MOO+xb0dIDR4u9Q4Di5glSq0HTu5U61Ye+c3aNrQzsr3R4lELCADNXltE5aY6shoF X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Hi Mark, On Tue, Oct 01, 2024 at 11:58:50PM +0100, Mark Brown wrote: > There is a control HCRX_EL2.GCSEn which must be set to allow GCS > features to take effect at lower ELs and also fine grained traps for GCS > usage at EL0 and EL1. Configure all these to allow GCS usage by EL0 and > EL1. > > We also initialise GCSCR_EL1 and GCSCRE0_EL1 to ensure that we can > execute function call instructions without faulting regardless of the > state when the kernel is started. > > Reviewed-by: Thiago Jung Bauermann > Reviewed-by: Catalin Marinas > Signed-off-by: Mark Brown I just bisected a build failure from a failed linker script assertion that I see with allmodconfig to this change in -next as commit ff5181d8a2a8 ("arm64/gcs: Provide basic EL2 setup to allow GCS usage at EL0 and EL1"): $ make -skj"$(nproc)" ARCH=arm64 CROSS_COMPILE=aarch64-linux- mrproper allmodconfig vmlinux aarch64-linux-ld: HYP init code too big make[4]: *** [scripts/Makefile.vmlinux:34: vmlinux] Error 1 ... I see this with both GCC 14 and clang 19, in case toolchain version matters. Bisect log included as well. Cheers, Nathan # bad: [b6270c3bca987530eafc6a15f9d54ecd0033e0e3] Add linux-next specific files for 20241009 # good: [75b607fab38d149f232f01eae5e6392b394dd659] Merge tag 'sched_ext-for-6.12-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/sched_ext git bisect start 'b6270c3bca987530eafc6a15f9d54ecd0033e0e3' '75b607fab38d149f232f01eae5e6392b394dd659' # bad: [76d36603db22f0f0774c19147b25f5a0bcac64e6] Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git git bisect bad 76d36603db22f0f0774c19147b25f5a0bcac64e6 # bad: [e90a3e76b4b8080f633a167179f3a76b93077270] Merge branch 'renesas-clk' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git git bisect bad e90a3e76b4b8080f633a167179f3a76b93077270 # good: [dd60a5d8b8ac2e7dc6810182a6dbc251a746f09e] Merge branch 'perf-tools-next' of git://git.kernel.org/pub/scm/linux/kernel/git/perf/perf-tools-next.git git bisect good dd60a5d8b8ac2e7dc6810182a6dbc251a746f09e # bad: [fa74fd4773673726bfa8f89d15805d8a1b26f855] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap.git git bisect bad fa74fd4773673726bfa8f89d15805d8a1b26f855 # bad: [a7833d5793f83512f1fb6f36fa7588ea03da6b1b] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git git bisect bad a7833d5793f83512f1fb6f36fa7588ea03da6b1b # bad: [c9c0de66c9b5f295f09a116f15401465bdd13263] Merge branch 'for-next/core' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux git bisect bad c9c0de66c9b5f295f09a116f15401465bdd13263 # bad: [506496bcbb4204c9ff5cfe82b1b90e1f14366992] arm64/gcs: Ensure that new threads have a GCS git bisect bad 506496bcbb4204c9ff5cfe82b1b90e1f14366992 # good: [d0aa2b4351862cc2ce8d97e00c96bffc02ea16af] arm64/gcs: Provide put_user_gcs() git bisect good d0aa2b4351862cc2ce8d97e00c96bffc02ea16af # bad: [6497b66ba6945f142902c7e8fce86e47016ead1c] arm64/mm: Map pages for guarded control stack git bisect bad 6497b66ba6945f142902c7e8fce86e47016ead1c # bad: [6487c963083c24ede289d4267ffa60a9db668cd4] arm64/cpufeature: Runtime detection of Guarded Control Stack (GCS) git bisect bad 6487c963083c24ede289d4267ffa60a9db668cd4 # bad: [ff5181d8a2a82c982276a7e035896185c390e856] arm64/gcs: Provide basic EL2 setup to allow GCS usage at EL0 and EL1 git bisect bad ff5181d8a2a82c982276a7e035896185c390e856 # first bad commit: [ff5181d8a2a82c982276a7e035896185c390e856] arm64/gcs: Provide basic EL2 setup to allow GCS usage at EL0 and EL1