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 E566CC531DC for ; Fri, 23 Aug 2024 14:45:47 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6426F8009E; Fri, 23 Aug 2024 10:45:47 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 5CAEC8009A; Fri, 23 Aug 2024 10:45:47 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 46B648009E; Fri, 23 Aug 2024 10:45:47 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 2833A8009A for ; Fri, 23 Aug 2024 10:45:47 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id 5CB7CC0C91 for ; Fri, 23 Aug 2024 14:45:46 +0000 (UTC) X-FDA: 82483784292.11.EEBFC7B Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf24.hostedemail.com (Postfix) with ESMTP id 9C1D118001A for ; Fri, 23 Aug 2024 14:45:43 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=sZqjTOS2; spf=pass (imf24.hostedemail.com: domain of will@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=will@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1724424302; 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=Wm6M97/92sA6lvXG4eEn8vQfVu7CSe34kDKZg3GcD8I=; b=AOPQewA16jkNqQpbBQ/UZcxrKLEwuGZNxA6QjSOPwnbLiqPNf2cM5ra/Q2OYPb0c2QXKIw X3JcL+/FrX/E/FdAh3FXcYlfbNgtl6fyGwcnHY5JFgtrl+2PxpTAZNxqjfqseq6FKx2mcG Si2uuR6krbficwpPUVsEx7XKU8zAWeE= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=sZqjTOS2; spf=pass (imf24.hostedemail.com: domain of will@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=will@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1724424302; a=rsa-sha256; cv=none; b=P2eeHfXtOlyJ6Q2XV7nwn7AcuVFANJzbAm7v8sj/m8JrvG9n5bH/oBZ5ycwDA3UejcRl7p hgzXzCVwS5yNrJE/KwxYacUhDs6KbUlaPCQa6p8mkEwtImS9iewxMx4fNYzHMLYjxoM8j9 cvTiFh6pxar/U010zk7TpV0KOJr6crw= Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id B044161239; Fri, 23 Aug 2024 14:45:40 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6CE55C32786; Fri, 23 Aug 2024 14:45:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1724424340; bh=W6z8CSJIQISlh38AzR3KbpPdvjf84h6oaEwrIWjYySE=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=sZqjTOS2yJ3SZLJsVGt+kPr01XngWDjZhXRB11P59QKeuj0yVdJ2sI1jiTOtfwc1l 0KofF0+gZW+2ilrX698/xbyYRzb0afe9ZQFHS1eX/89s0tT+SeZqTHYfl0x18Zexz+ ojJmzjO42Pp6SJ9/97BgEuwauVrtWeqDuXAITbu5HlICS/eRA8zhCqnIg8SX7Th28A y7taxVji40p7C4F97d5UAN7RkOd33c6kp1ratVeJjgaBBAfyebkKljPHUnl0HXwW3X 1mwWo5iqo+efoKR6XMU/0Rs+9uXSAMETOVivGRw42b48YIgSaoiHjeAEww/ehNsqRy s82ANrYxvLTLA== Date: Fri, 23 Aug 2024 15:45:32 +0100 From: Will Deacon To: Joey Gouly Cc: linux-arm-kernel@lists.infradead.org, nd@arm.com, akpm@linux-foundation.org, aneesh.kumar@kernel.org, aneesh.kumar@linux.ibm.com, anshuman.khandual@arm.com, bp@alien8.de, broonie@kernel.org, catalin.marinas@arm.com, christophe.leroy@csgroup.eu, dave.hansen@linux.intel.com, hpa@zytor.com, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, linuxppc-dev@lists.ozlabs.org, maz@kernel.org, mingo@redhat.com, mpe@ellerman.id.au, naveen.n.rao@linux.ibm.com, npiggin@gmail.com, oliver.upton@linux.dev, shuah@kernel.org, skhan@linuxfoundation.org, szabolcs.nagy@arm.com, tglx@linutronix.de, x86@kernel.org, kvmarm@lists.linux.dev, linux-kselftest@vger.kernel.org Subject: Re: [PATCH v5 06/30] arm64: context switch POR_EL0 register Message-ID: <20240823144531.GH32156@willie-the-truck> References: <20240822151113.1479789-1-joey.gouly@arm.com> <20240822151113.1479789-7-joey.gouly@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20240822151113.1479789-7-joey.gouly@arm.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-Rspamd-Server: rspam03 X-Rspam-User: X-Rspamd-Queue-Id: 9C1D118001A X-Stat-Signature: eqcrxta7pm4akop9io7i719x7utahcrd X-HE-Tag: 1724424343-267015 X-HE-Meta: U2FsdGVkX1+UDZbZ5GsrBkStdLx1haUBI3rxP7XemNHGLu++VXBVft7NfaQ7yCXmx8YQtQC6KbdJLLAxcoLsu59H0T55yNAWdTXTJp8PjUmHZzrd2ZORD1/TzLEpVw0GdzAI+OsfNVhUj1sBrSGBPGKpI+vO4QNt0/yOWPQOM2q8xnxAE7X0sYo/0S+qPxM84v82iTHkc4uwF9hpPptY5lXeOBIgtMyJVJppWGOnk2Y51oyDBKtzLbuATwtUJeXLVv1Vj813C0JHqIQC85lHuXMQbiaiq09YJ6BKjKWCCsBL+DyyscgUZgyNwKmCxs9ITMe7ltDnyw8WWZ+ffsiYRqc8qRQhCbEK/S0uQO0n/14jsMSD84hxU4J+onk4fVbFSi4ORT7GNQNKjISjx91UNxUauD3GRpVeQXNivvzYDVCdjLah7Vvq6P1zQiR5nnfG/IvECslROaHMHzp69KQ9MYwPRLrrGlcQpPOPGJMHWQdtIPa8cADi4NKFga38ryfxc7t7v7hSyZzzl2062JlB7aPobOWw/zT4t8G6Zd3tvYC67SGtyjy0BJaW5J6NR3rKpyNR6wIHihdyJN2nxOdHIitTHsjHJwd/K10sE0xj7/fSuNB2ETBUNTTJmaQuBLhoilD1x25v4JO7N3r5fU1Fm0Ko1EpjQ7VEac6cUmih4z+IsGlFCb1LTOLVupLMKRgZ+90Dx638k5y/CfbHRNgr3zSHR9+c27aqQKPnuLpGxgmNZ8QdZEQ/F9Q5Lcs177lXG7Xyr+IlBi+bH45N6RPHw/IshIVwzgOmDKOBIZZldFPZ0/OCWWaig5ym5k/sNJBDj6oRsclKqTUG/59Xap85GzN7RdAq+VEjwXVJPMHm3HSgT9WhOKciu18pUj8TRGxheFUEuyp4nBgX6h0CkS5PdwahSahbDECPzjQaEI8iNHwJChSRs7ZHnr3n2BgANyTtpJteJ/ihl4JrWRUV5L1 +881gzfC /dSjbw65IUsCIrzMdF8BY7eBzZuAU67Jn98ZG/WlY/41RFIC4WtukPAfJD3rdCER9++RZtRDKKNsEjd9mVmumUO6v/dyk19TzC8jSd8Ut4HoUSGTgohiL35beO8BARI8dv2geIYN73KhJRTlcUCsXkC/Avv8sX8uSpdvOSwJ58O8KLwetx+IYnjLUq58yT1nXN2IZZjThCdO8MMniKrthGJ+VJwf32gKFu34jCYqm5tTf1WA0SPQC+o6CZJipc/aHrWqJtCT1t+jpITHX+aLCo/gqjTZnZmi7kdc1m/un/L8yXAsoaocjQtQpOAYhN0v9HZi68/Q8kpqMBIHegxfITtZod90CxXllJZr/UDT4Y3C9axE= 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: On Thu, Aug 22, 2024 at 04:10:49PM +0100, Joey Gouly wrote: > POR_EL0 is a register that can be modified by userspace directly, > so it must be context switched. > > Signed-off-by: Joey Gouly > Cc: Catalin Marinas > Cc: Will Deacon > Reviewed-by: Catalin Marinas > --- > arch/arm64/include/asm/cpufeature.h | 6 ++++++ > arch/arm64/include/asm/processor.h | 1 + > arch/arm64/include/asm/sysreg.h | 3 +++ > arch/arm64/kernel/process.c | 28 ++++++++++++++++++++++++++++ > 4 files changed, 38 insertions(+) [...] > +static void permission_overlay_switch(struct task_struct *next) > +{ > + if (!system_supports_poe()) > + return; > + > + current->thread.por_el0 = read_sysreg_s(SYS_POR_EL0); > + if (current->thread.por_el0 != next->thread.por_el0) { > + write_sysreg_s(next->thread.por_el0, SYS_POR_EL0); > + /* ISB required for kernel uaccess routines when chaning POR_EL0 */ nit: typo "chaning". But more substantially, is this just to prevent spurious faults in the context of a new thread using a stale value for POR_EL0? Will