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 X-Spam-Level: X-Spam-Status: No, score=-8.5 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8EF3DC433DF for ; Wed, 29 Jul 2020 17:13:43 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 55EA120809 for ; Wed, 29 Jul 2020 17:13:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="LRMJ/KSS" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 55EA120809 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References:Message-ID: Subject:To:From:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=9CaJVCOw4PZqUxCm5lI7dXM1oBjbHOx0cEoTp64x+yk=; b=LRMJ/KSSHmvgP+4JuVPD0W6If atnrQTYKtmWiyfNt4sYsW4iD1vU8l6vNVL5WcIuTjzT7zdRkArfZfuRgnzZq1jwIeT6C+JMZIyDnk v+ZaEZBCCctS4zrGgfX0T5vAizwdZgokdT2Kx1pHYm6nU8Dgjv4MR0CKKk/WgfCpxTSEHe5AhNJ/J R6sNouXeCpuQtrkP+IP3oQfyBk20zyslsPeQbFpH6i7ovtYGOAOh6P6NGVImsfBEG4zQXi8zZMJM7 lPGOdsrm8JOx68ZrrSmkXrRDOwvXbyhogHeuN6q4f84jJq1AeUR81ZOpUObWAomwvND8FFVUzfEly SWIsmQ1hA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0pch-0006ej-NW; Wed, 29 Jul 2020 17:12:11 +0000 Received: from mail.kernel.org ([198.145.29.99]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1k0pcf-0006dt-1M for linux-arm-kernel@lists.infradead.org; Wed, 29 Jul 2020 17:12:09 +0000 Received: from gaia (unknown [95.146.230.158]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 8D5342075D; Wed, 29 Jul 2020 17:12:06 +0000 (UTC) Date: Wed, 29 Jul 2020 18:12:04 +0100 From: Catalin Marinas To: Marc Zyngier Subject: Re: [PATCH 1/2] arm64: Move handling of erratum 1418040 into C code Message-ID: <20200729171203.GC24572@gaia> References: <20200728092112.3865765-1-maz@kernel.org> <20200728092112.3865765-2-maz@kernel.org> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200728092112.3865765-2-maz@kernel.org> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200729_131209_161766_8324A057 X-CRM114-Status: GOOD ( 15.02 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: swboyd@google.com, Sai Prakash Ranjan , Suzuki K Poulose , kernel-team@android.com, dianders@google.com, Will Deacon , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org On Tue, Jul 28, 2020 at 10:21:11AM +0100, Marc Zyngier wrote: > diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c > index 6089638c7d43..87c33f7c536b 100644 > --- a/arch/arm64/kernel/process.c > +++ b/arch/arm64/kernel/process.c > @@ -515,6 +515,34 @@ static void entry_task_switch(struct task_struct *next) > __this_cpu_write(__entry_task, next); > } > > +static void erratum_1418040_thread_switch(struct task_struct *prev, > + struct task_struct *next) > +{ > + bool prev32, next32; > + u64 val; > + > + if (!(IS_ENABLED(CONFIG_ARM64_ERRATUM_1418040) && > + cpus_have_const_cap(ARM64_WORKAROUND_1418040))) > + return; > + > + prev32 = (!(prev->flags & PF_KTHREAD) && > + is_compat_thread(task_thread_info(prev))); > + next32 = (!(next->flags & PF_KTHREAD) && > + is_compat_thread(task_thread_info(next))); I don't think we need to test PF_KTHREAD. is_compat_thread() checks for TIF_32BIT and we never set this on kernel threads (they are cloned from kthreadd). -- Catalin _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel