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 9B74FC433ED for ; Mon, 17 May 2021 08:05:56 +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 273E36117A for ; Mon, 17 May 2021 08:05:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 273E36117A 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=2ZUVNRwgLappwXp0OLjrofB8nVRqvj0wEXIJBE86/O4=; b=Bz6kVUSfuEk3FX KZKmmebGdhCtztP5l7zrV9JAdrI86HXxdyx6xNaF8aEofu8xibSzJQc5K7UZ8Ma5j2f5aTyxYWOiw VMtndONOzYqituOyxQGvj8IQmmz1XqALjHEYFjxzJ02Cc5l4etAXHPDdCEvAwrV8c61PZZVttZdbH OjLweDohe8OhDl2eqSYGNNVWkPUoxsgjG9dQTDRYMGC8AdgvquD6frnMsPnPA71HUxtcONEF8MF28 +HMb3pj35TyH5MrP8AnaokS6M/rt2ojrOZVGFnrkunhgUfBoIORyevIV4AJHALIdhdElua9r/nGJd WNzIouhlYkPGLhgHXHiQ==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1liYDc-00E9MX-HB; Mon, 17 May 2021 08:03:27 +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 1liY2h-00E6gC-HU for linux-arm-kernel@desiato.infradead.org; Mon, 17 May 2021 07:51:59 +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=tEummeh6I6frwEp3TLdr5cPM5KsDvZ8aCtlKbBiCaX4=; b=ZjY60FPuepivhYYDriPdbkC/d2 jZ4qs2f1cjOvxftqmsqk2tWy2BuC0fai0+1lGu5q6qiYp8qAcSDpqWedsQKpCvUJ1yzOzJOABJ6Zb cv7qWCnxmnCvBZA7fe59Acr6mkh3nBBN01b4TEpyww/ApOvwSLEFIBLvHlRYpHqjDCG1BFN34Yvo8 HrvOYqBs5S/aB3qMKEdZ9oM7qC55Yzqbn2XJZyOXEywUR+w3f+NArE4eO4GuPpk22h3mb1bbWbZKX wcgwwmCXrjxhA322a7JILdD+26YnZTaUZSSbHtqw36QbeYoA5lC5c99VGDgW7tQiCVpQ0CpXFLSrs kGbuXjIA==; 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 1liY2e-00DZ0L-UP for linux-arm-kernel@lists.infradead.org; Mon, 17 May 2021 07:51:58 +0000 Received: by mail-qv1-xf49.google.com with SMTP id c5-20020a0ca9c50000b02901aede9b5061so4130492qvb.14 for ; Mon, 17 May 2021 00:51:56 -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=tEummeh6I6frwEp3TLdr5cPM5KsDvZ8aCtlKbBiCaX4=; b=DqurR5t4iQPpG8dC/UIw8m2Ivo9XY/u5dZCwSRwY35Kjiskpy1p0qHpmzVtFN2XysA 8sFsM5B3ylwZZkN7/5zJ/UFK+SF+JWrhJ2LE9+etTCJ6pYKlciyB7NXhTMTjURlzNod5 BL6k0LSyGBpieXDeImRBkNKkWJSeWtbQK/3NdmMbBpnh4MsDpy8HecybI++T3LxYTTYH 0ZGU3iyn/7E/yHeW0TtGIFm5bD6YGRuJ7uq+z/ZXO5lRVn9ETLAZhrStT9fyvOIYjIIE A/ROW7DmigxsrjBo5eIpgNxVxtOMi/qQkDj6Yo3Ct6N8H+aLpq6n+NblSTYDDcMs0ohM I0XQ== 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=tEummeh6I6frwEp3TLdr5cPM5KsDvZ8aCtlKbBiCaX4=; b=YpD1KUoNxdx0UENupu9bs7r3JqjcBFEZrM6P44YLcBxMMjAAq0ZaxVlTBlYX639lsK 68U3a5i4W3JfRGi1z0Jv/6qN/1kEyHaGtSKcN7rABSSTWLX9osQGjkYwLqSjEMGxE8H8 ly76hzK5py/pBTfS2O0CD+Vi2TXIdSJEWKNeauNH0E+0UJGZr1nXhu/XEj0kRnwimODU fLTrQ7NzyPou5eFQhtmunspmhiHCpgf29skZXT4eC3MGyTzx5LDO4CGGEC8aSzFeSkTj 7J5Ul/ZoBNtnHeQ0b6imjdixz5DGog8DVkLnQE4ud+lnHAJgvDbsF7Sr96GjNn48TCee XdiA== X-Gm-Message-State: AOAM531pvj3b4SgYIoDJhTz2uRbxUsV2yRCAqx0IP+LM0LTnCsd2j5P6 QGuAld8eL67jmLYyHeShyMthzeZg3RMynoEHTN0EY7Dgs8YF5nhs/Ad9MWRsSkVzw2L3T6CUrdO sSwcOuV0GA8bjkxoi6uoZY4dI1LFq37R0snn5Mr0mXCKrnp1qwXWXjaZP2qdRX1zYTlm8cRTZTG HBjg== X-Google-Smtp-Source: ABdhPJxYG509xtuDbTKQu3CXCBbddKTBjaTQFF+IgNijVtUKBoug0NzLwd+5x2wYI0qnWcpE8l2q8teh7w== X-Received: from tabba.c.googlers.com ([fda3:e722:ac3:10:28:9cb1:c0a8:482]) (user=tabba job=sendgmr) by 2002:a0c:ee62:: with SMTP id n2mr50085669qvs.20.1621237915207; Mon, 17 May 2021 00:51:55 -0700 (PDT) Date: Mon, 17 May 2021 08:51:22 +0100 In-Reply-To: <20210517075124.152151-1-tabba@google.com> Message-Id: <20210517075124.152151-15-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 14/16] arm64: sync_icache_aliases to take end parameter instead of size 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_005156_999348_CE8D6C3B X-CRM114-Status: GOOD ( 14.21 ) 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 To be consistent with other functions with similar names and functionality in cacheflush.h, cache.S, and cachetlb.rst, change to specify the range in terms of start and end, as opposed to start and size. No functional change intended. Reported-by: Will Deacon Signed-off-by: Fuad Tabba --- arch/arm64/include/asm/cacheflush.h | 2 +- arch/arm64/kernel/probes/uprobes.c | 2 +- arch/arm64/mm/flush.c | 21 +++++++++++---------- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/arch/arm64/include/asm/cacheflush.h b/arch/arm64/include/asm/cacheflush.h index f86723047315..70b389a8dea5 100644 --- a/arch/arm64/include/asm/cacheflush.h +++ b/arch/arm64/include/asm/cacheflush.h @@ -64,7 +64,7 @@ extern void __clean_dcache_area_poc(unsigned long start, unsigned long end); extern void __clean_dcache_area_pop(unsigned long start, unsigned long end); extern void __clean_dcache_area_pou(unsigned long start, unsigned long end); extern long __flush_cache_user_range(unsigned long start, unsigned long end); -extern void sync_icache_aliases(void *kaddr, unsigned long len); +extern void sync_icache_aliases(unsigned long start, unsigned long end); static inline void flush_icache_range(unsigned long start, unsigned long end) { diff --git a/arch/arm64/kernel/probes/uprobes.c b/arch/arm64/kernel/probes/uprobes.c index 2c247634552b..9be668f3f034 100644 --- a/arch/arm64/kernel/probes/uprobes.c +++ b/arch/arm64/kernel/probes/uprobes.c @@ -21,7 +21,7 @@ void arch_uprobe_copy_ixol(struct page *page, unsigned long vaddr, memcpy(dst, src, len); /* flush caches (dcache/icache) */ - sync_icache_aliases(dst, len); + sync_icache_aliases((unsigned long)dst, (unsigned long)dst + len); kunmap_atomic(xol_page_kaddr); } diff --git a/arch/arm64/mm/flush.c b/arch/arm64/mm/flush.c index a69d745fb1dc..143f625e7727 100644 --- a/arch/arm64/mm/flush.c +++ b/arch/arm64/mm/flush.c @@ -14,28 +14,26 @@ #include #include -void sync_icache_aliases(void *kaddr, unsigned long len) +void sync_icache_aliases(unsigned long start, unsigned long end) { - unsigned long addr = (unsigned long)kaddr; - if (icache_is_aliasing()) { - __clean_dcache_area_pou(kaddr, kaddr + len); + __clean_dcache_area_pou(start, end); __flush_icache_all(); } else { /* * Don't issue kick_all_cpus_sync() after I-cache invalidation * for user mappings. */ - __flush_icache_range(addr, addr + len); + __flush_icache_range(start, end); } } static void flush_ptrace_access(struct vm_area_struct *vma, struct page *page, - unsigned long uaddr, void *kaddr, - unsigned long len) + unsigned long uaddr, unsigned long start, + unsigned long end) { if (vma->vm_flags & VM_EXEC) - sync_icache_aliases(kaddr, len); + sync_icache_aliases(start, end); } /* @@ -48,7 +46,8 @@ void copy_to_user_page(struct vm_area_struct *vma, struct page *page, unsigned long len) { memcpy(dst, src, len); - flush_ptrace_access(vma, page, uaddr, dst, len); + flush_ptrace_access(vma, page, uaddr, (unsigned long)dst, + (unsigned long)dst + len); } void __sync_icache_dcache(pte_t pte) @@ -56,7 +55,9 @@ void __sync_icache_dcache(pte_t pte) struct page *page = pte_page(pte); if (!test_and_set_bit(PG_dcache_clean, &page->flags)) - sync_icache_aliases(page_address(page), page_size(page)); + sync_icache_aliases((unsigned long)page_address(page), + (unsigned long)page_address(page) + + page_size(page)); } EXPORT_SYMBOL_GPL(__sync_icache_dcache); -- 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