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, 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 D0303C04FF3 for ; Mon, 24 May 2021 19:25:27 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 926FA613F6 for ; Mon, 24 May 2021 19:25:27 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 926FA613F6 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=bombadil.20210309; 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=+q6pU83EKdC/djnI4CBoW/wljMUPFesbaQugQW/YnAs=; b=3oWAcpoHCNy4vOIyg78CV+iWI7 IuSHr4cGU8PdzbJHKPimBC2MKZKkJ6ZmHrL9Ja8/dGGWfLvBFbh3b2J33DCO33TgnR6Xt5pXkimQw Z/eIEbonptFHgApXdQINhBfSHzMmZDHCVmXJZKFI4UxtyD7FyaH3T2H4l21Pb/FO5e6rOpVQ1LtlQ D77GEK9Lec79ry0oLgrmta9o1pEiwvbsxQhTV+0XR6SzU4B/N2VywOIjsufbHWZcuqg3vBZx+RLpy qpFW323QDwEPP8c+2GBWzi2+tTXety5DI6IiN35ZN34pf2pMCHG+2f2ukW1TSw+TQZF6lFZqvXoxX mlXBYKhw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1llGAE-001eUl-Sd; Mon, 24 May 2021 19:23:01 +0000 Received: from mail-wr1-x44a.google.com ([2a00:1450:4864:20::44a]) by bombadil.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1ll5yx-000ltO-Ds for linux-arm-kernel@lists.infradead.org; Mon, 24 May 2021 08:30:40 +0000 Received: by mail-wr1-x44a.google.com with SMTP id 1-20020adf93810000b029010fd5ac4ed7so12740726wrp.15 for ; Mon, 24 May 2021 01:30:38 -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=B2oqCjWGiDlRsgi1uC95SoV3X4XsCQk4Vg0zao3opro=; b=TW8xck4vBuEkcHGvsJEsB7jRxU8mTLGTuSf5Y0zDhvBzlbNKuyDQM5hR20pfL/gGRV Any11WfSaUcqU3dnuwr/1nh6KlZ0A/qOpduuLcVDrWhGQCTsiKklPm8VOQxtvxwwdKor 6fOpWPkzYwp6UZ4x+tIMc28DHd4s5rTjePfcm+5lBxEwoYxLRoo9B5SkPTdlOwpUEotZ +je0wAxa3E+IIo0ETl3uLehpseBQqPzr5q0FJM/CR0P+ZwjSYvX6VmcP3PbXWwLioXuC Pl25tI6UKP6tLKcN4gpszLr/sx/D42zTZzlIwqtmGxIqx7UTIiuWAgYU0ERj/UEPfvdN 2xQA== 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=B2oqCjWGiDlRsgi1uC95SoV3X4XsCQk4Vg0zao3opro=; b=t6ofValbuMYq3Jb797s0dwRuVuzt8QCvKIXRtnaVCa2+B5rX3ppo1feNgqooRFbo0s qfvndlU3nfcaWkc/kIzMP2GUZQH8bwp+P7+wdsHDX638S1ctWnWD6+PGYST4+wKeG+eR b0VtkRGD+ZeqZxGbiMLaGvglLqFmnsqWmal6VQh4uKfc8A5RxkcFwWNoY8couHPSROFR MLYKaLs+8ULbQTqS4Q4fxSnCJv+WyEfaEx6YqjNUR15wDK3j223e9DoIooYisGKy2n8p um+xPfiX4ptqr1lu84wV2LfEBqlty3Zi/1JxbQJtxaCv/BDEdkl6RNrJnRVfFznC5+w4 HLEQ== X-Gm-Message-State: AOAM530I4KmVBZAt0pcW0W2Q3o6/cy2apgQ7P95yjY50wXCzO9cHeRCS BsSUSEfGAU7g3RrVHvothKiTzT21SnI0b2cTM7bj0MQEga9i/8lCn/rpYykpZkfC5z0/PPonMk4 YY/JIHgXkEiL9sJfWnE8IGOma+KPZerRb4p6nyzDEFEZ6lJvyLSXXp+XNX802tgaIHUQuYD3xuy W9JA== X-Google-Smtp-Source: ABdhPJxO0fMchjgrm8S/EOQSSYYuztAK0OfBME10JPKxZA4eRypRvUKSJHh79hfXMG6vS3K1SjQ+7Qps/Q== X-Received: from tabba.c.googlers.com ([fda3:e722:ac3:10:28:9cb1:c0a8:482]) (user=tabba job=sendgmr) by 2002:a05:600c:35cc:: with SMTP id r12mr2767070wmq.1.1621845036737; Mon, 24 May 2021 01:30:36 -0700 (PDT) Date: Mon, 24 May 2021 09:29:59 +0100 In-Reply-To: <20210524083001.2586635-1-tabba@google.com> Message-Id: <20210524083001.2586635-17-tabba@google.com> Mime-Version: 1.0 References: <20210524083001.2586635-1-tabba@google.com> X-Mailer: git-send-email 2.31.1.818.g46aad6cb9e-goog Subject: [PATCH v4 16/18] 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-20210524_013039_488866_5C0773C4 X-CRM114-Status: GOOD ( 14.18 ) 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 Acked-by: Mark Rutland 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, 12 insertions(+), 13 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 0341bcc6fdf3..c4ca7e05fdb8 100644 --- a/arch/arm64/mm/flush.c +++ b/arch/arm64/mm/flush.c @@ -14,28 +14,25 @@ #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) +static void flush_ptrace_access(struct vm_area_struct *vma, unsigned long start, + unsigned long end) { if (vma->vm_flags & VM_EXEC) - sync_icache_aliases(kaddr, len); + sync_icache_aliases(start, end); } /* @@ -48,7 +45,7 @@ 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, (unsigned long)dst, (unsigned long)dst + len); } void __sync_icache_dcache(pte_t pte) @@ -56,7 +53,9 @@ void __sync_icache_dcache(pte_t pte) struct page *page = pte_page(pte); if (!test_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)); set_bit(PG_dcache_clean, &page->flags); } } -- 2.31.1.818.g46aad6cb9e-goog _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel