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=-17.1 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_ADSP_CUSTOM_MED,DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_CR_TRAILER,INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT 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 03784C433B4 for ; Mon, 17 May 2021 07:58:15 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 8A4BB6105A for ; Mon, 17 May 2021 07:58:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8A4BB6105A Authentication-Results: mail.kernel.org; dmarc=fail (p=reject dis=none) header.from=google.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=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Cc:To:From:Subject:References:Mime-Version: Message-Id:In-Reply-To:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=csCSEZg3nNpxVHQootQitty8n/tDBYlG1yLqJH5QDTo=; b=JDYR3x4tyENiME d7Ow5c3ayba1/CXAE4hDUvaH85Kq1M9piNMlX0cymSvL3cBrrn+7dImox56d8PACzwcIEjLNNAonH XiDH+f8XgeccULBXFYRjZ280E5F/XUm8c36uySzHfrVuc9bBL+PHXeBuxx/PGMA9KEzkqgo9Aw+u9 py4ny/0bX2hQvoHChYe3eP1q/GhBGdBbzl6ILxaXMWjchHKNfLHXbPqmkfx3GguYVj+fEJG2m7hto 5FQ98KAd8WaFQhSq1fATX9q5dzjzPMifYwhgdxkoFZMHuvuFlW+V9LQj9QJdPQnUt4bn/ij/+Z2Ae QMte4eSV+KDxkQ+MnxVQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1liY6g-00E7X0-0b; Mon, 17 May 2021 07:56:14 +0000 Received: from bombadil.infradead.org ([2607:7c80:54:e::133]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1liY2L-00E6Vv-3J for linux-arm-kernel@desiato.infradead.org; Mon, 17 May 2021 07:51:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Type:Cc:To:From:Subject: References:Mime-Version:Message-Id:In-Reply-To:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=8HMUlQnknAGRv+aVeWsuUhGmLLc5sNeLJkto1xUPVU8=; b=uXQzRugvR6suLWQ4/gmYzBLKJ5 mnrb/aQYNu1LHX9FgPFTcD8GRLxDePkRDiiY5ZpqWzqhJtDvRAngiNg6jHi4jwQd1ooXQ9Hrl173u Dq603P0eoX4ywa7F6R1cL6zQhdQDFCfDzHDJ228We1WFazF2ER5b2kpx3nwHeETfqj/1WPtUDQHcu O+VyC1AfrfskSxSRB1wC3J3vBItRRgS1DZHPMUYUk1g/8ji8YKvsNsi9UclatE1dGVT5/J+v5yvaZ UCxpxF9z9wL1jgpFgcBwPKqI9levp6RuTz+6kIFBIdh0rGoUNaU8ZPKy/kNiiLxcojA1ECW4XcWEN W6CgEhxg==; Received: from mail-qv1-xf49.google.com ([2607:f8b0:4864:20::f49]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1liY2I-00DYvk-84 for linux-arm-kernel@lists.infradead.org; Mon, 17 May 2021 07:51:35 +0000 Received: by mail-qv1-xf49.google.com with SMTP id b24-20020a0cb3d80000b02901e78b82d74aso4096946qvf.20 for ; Mon, 17 May 2021 00:51:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=date:in-reply-to:message-id:mime-version:references:subject:from:to :cc; bh=8HMUlQnknAGRv+aVeWsuUhGmLLc5sNeLJkto1xUPVU8=; b=IxHYezeVwj8W2gFACbMemJr5LIoOshTBg9CWmNEFxH4PVU3RoIcmGNVRzZd+q8O32v 3f3zfeD69qcnkwcferYmA2FSnHRl59bs/3ACNTnXfRIU0Tr0kDT4ksiF9E47BIuHSzB0 FLIa4vK9udBh0vOkBRGsnrmAnw7IxnDEv4Q40ktQb4LMv6lOMI6u1eRtGRjlLmOEaO+A 2OELnWRZkfldprSqjN2DY4wBRGekQ2eREXn3ejKp1bGACZ5apA4rQ4e9b1TyiQbYl5cW 1K9qyvV/U287HCyXBrQ01nWtV9P6wub7PRleZCkZK5cH/w+IYk021f3SwKtsrTmbAej5 Jxeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:in-reply-to:message-id:mime-version :references:subject:from:to:cc; bh=8HMUlQnknAGRv+aVeWsuUhGmLLc5sNeLJkto1xUPVU8=; b=SkjlfTBZL0WuRT0tyGS6p4fVGlzFGoNr3kKA8iSl+SGHST7dI9qQ0f0y5mm1/pTiSI YEJNffXH/3V6lW6H+iUrxwQa2/1Q4q5OwA3p9TEDQw0lghKXW9pss2PvXnbo2LsLlFT+ kALkiqAD9HAphBjFmvApUCkK1Wa79HhJPKPCZAhpSn65Efrxw5lkhH3IfeBvufFJJyLS rreUMh63ASPer9Npq/gHI/v7tL60MpTNy0B3endzITQfZh+ylDRmDijLUEypKMtHZ/M0 0jQm+mMP8ul/iem7sCFO5ut49wCbmfOUTIFS+O2YaUkcq0qkfO6PcCrduIhqKpxzSmOP 8hmA== X-Gm-Message-State: AOAM532ETJv+GOH6C7ve7zXmMRuX/ulWkAiSnkkDb5huFHFjwDh+anA0 ftRH++2+YS2Q1rcdZHwGFa8DXIfT3PQ0ppYISza14ida+EwtJCofzrcEkuTf2x4ygB+qQRYZlTD pd4oQquprn447pVO/Dy2+Cdl1wzX44dZy0ILk2Wf+phOVGXOb+iNhtVDNCT1QVH2AeY2etixVxc SDqQ== X-Google-Smtp-Source: ABdhPJw9Miml3Sp88RILmMacZSAnL7ONyHh1mXGTbPQQCP3tFxiEB3tdFdOmK11T27JKsKrUVnsR/DGiYg== X-Received: from tabba.c.googlers.com ([fda3:e722:ac3:10:28:9cb1:c0a8:482]) (user=tabba job=sendgmr) by 2002:a05:6214:18d:: with SMTP id q13mr59343060qvr.60.1621237892619; Mon, 17 May 2021 00:51:32 -0700 (PDT) Date: Mon, 17 May 2021 08:51:11 +0100 In-Reply-To: <20210517075124.152151-1-tabba@google.com> Message-Id: <20210517075124.152151-4-tabba@google.com> Mime-Version: 1.0 References: <20210517075124.152151-1-tabba@google.com> X-Mailer: git-send-email 2.31.1.751.gd2f1c929bd-goog Subject: [PATCH v2 03/16] arm64: Do not enable uaccess for invalidate_icache_range From: Fuad Tabba To: linux-arm-kernel@lists.infradead.org Cc: will@kernel.org, catalin.marinas@arm.com, mark.rutland@arm.com, maz@kernel.org, ardb@kernel.org, james.morse@arm.com, alexandru.elisei@arm.com, suzuki.poulose@arm.com, robin.murphy@arm.com, tabba@google.com X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210517_005134_306329_7286C514 X-CRM114-Status: GOOD ( 12.37 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , 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 invalidate_icache_range() works on the kernel linear map, and doesn't need uaccess. Remove the code that toggles uaccess_ttbr0_enable, as well as the code that emits an entry into the exception table (via the macro invalidate_icache_by_line). Changes return type of invalidate_icache_range() from int (which used to indicate a fault) to void, since it doesn't need uaccess and won't fault. Note that return value was never checked by any of the callers. No functional change intended. Possible performance impact due to the reduced number of instructions. Reported-by: Catalin Marinas Reported-by: Will Deacon Link: https://lore.kernel.org/linux-arch/20200511110014.lb9PEahJ4hVOYrbwIb_qUHXyNy9KQzNFdb_I3YlzY6A@z/ Signed-off-by: Fuad Tabba --- arch/arm64/include/asm/cacheflush.h | 2 +- arch/arm64/mm/cache.S | 11 +---------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/arch/arm64/include/asm/cacheflush.h b/arch/arm64/include/asm/cacheflush.h index 52e5c1623224..a586afa84172 100644 --- a/arch/arm64/include/asm/cacheflush.h +++ b/arch/arm64/include/asm/cacheflush.h @@ -57,7 +57,7 @@ * - size - region size */ extern void __flush_icache_range(unsigned long start, unsigned long end); -extern int invalidate_icache_range(unsigned long start, unsigned long end); +extern void invalidate_icache_range(unsigned long start, unsigned long end); extern void __flush_dcache_area(void *addr, size_t len); extern void __inval_dcache_area(void *addr, size_t len); extern void __clean_dcache_area_poc(void *addr, size_t len); diff --git a/arch/arm64/mm/cache.S b/arch/arm64/mm/cache.S index 092f73acdf9a..6babaaf34f17 100644 --- a/arch/arm64/mm/cache.S +++ b/arch/arm64/mm/cache.S @@ -105,21 +105,12 @@ SYM_FUNC_END(__flush_cache_user_range) */ SYM_FUNC_START(invalidate_icache_range) alternative_if ARM64_HAS_CACHE_DIC - mov x0, xzr isb ret alternative_else_nop_endif - uaccess_ttbr0_enable x2, x3, x4 - - invalidate_icache_by_line x0, x1, x2, x3, 1, 2f - mov x0, xzr -1: - uaccess_ttbr0_disable x1, x2 + invalidate_icache_by_line x0, x1, x2, x3, 0, 0f ret -2: - mov x0, #-EFAULT - b 1b SYM_FUNC_END(invalidate_icache_range) /* -- 2.31.1.751.gd2f1c929bd-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel