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 F3C89C61DA7 for ; Thu, 26 Jan 2023 20:07:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 501096B0072; Thu, 26 Jan 2023 15:07:43 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 4B14E6B0073; Thu, 26 Jan 2023 15:07:43 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 378A38E0001; Thu, 26 Jan 2023 15:07:43 -0500 (EST) 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 247986B0072 for ; Thu, 26 Jan 2023 15:07:43 -0500 (EST) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id F31211C62EA for ; Thu, 26 Jan 2023 20:07:42 +0000 (UTC) X-FDA: 80398035564.03.A55D084 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf04.hostedemail.com (Postfix) with ESMTP id 668694000C for ; Thu, 26 Jan 2023 20:07:40 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=aYC7folr; spf=none (imf04.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674763661; a=rsa-sha256; cv=none; b=A7rMniAUlR3ZgZBgHj4sCg9KQz5CyE+B3Err3I2+ZpQjX5XDFhWRqROSLVmBRynnemXwEF RVfy1JNfncM5a/UNqb6tsklsvTmgHLEnewjooW4ps6z0KRDcbzSEYPkum2LuavShsA1uJw AMeJZO44G94Rc7IleJpzc74lwQHG510= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=aYC7folr; spf=none (imf04.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674763661; 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-transfer-encoding:content-transfer-encoding: in-reply-to:references:dkim-signature; bh=JzBJfIDuJxgLM6ciBuV8d8uL0pRgiX7zCopdrnYh1tA=; b=XO1Fr8YWhe6Db6OEW34MtVgZNC1Lk+wtdJdax537RpFzZ2nodghlJaxnfp6RIqLdqj/SPC 8u3DYLW0niTb7Z2u31EtHNieKBiR885xQci1vhf50IFMwASE8nqUIg26eiw8bl/YLOusdu Bk1HU1oW0tTNSFKb4pKZdupsxnrPYlY= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=Content-Transfer-Encoding:MIME-Version: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:In-Reply-To:References; bh=JzBJfIDuJxgLM6ciBuV8d8uL0pRgiX7zCopdrnYh1tA=; b=aYC7folrZF7BT0AE63Id9B1VOq Yw4JMILcB6T9obNoUkplrvU80D5/ogqAhcrydQwJ7kDAhCjSIcRnolxUBjm6x4asbkR/X7k3xgbJr Jpaku2xxcRjq2J3ZaR6JUmSA4t/A7b2NA4w6+0kErP08/Eqb2zxIE4no73xKOY0/+cdLN0qsAH7ev bbpTIGbZ/edafMwk/seG2Fhow2nUmhjQJgO2K8/P3ziRBHF0I2o+BzApeiC3MMV2brjHmkME+5DYJ BOs6iKHNuSbp8tWtkaP6+piDDmMiTuDqyEF57n9aNxa0DezAGYPwCA1AIbnKI0VEdTxLVVXvVsJ6v gSP6QANw==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1pL8Wv-00738y-AQ; Thu, 26 Jan 2023 20:07:29 +0000 From: "Matthew Wilcox (Oracle)" To: Andrew Morton , "Fabio M. De Francesco" , Ira Weiny , linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" , stable@vger.kernel.org Subject: [PATCH] highmem: Round down the address passed to kunmap_flush_on_unmap() Date: Thu, 26 Jan 2023 20:07:27 +0000 Message-Id: <20230126200727.1680362-1-willy@infradead.org> X-Mailer: git-send-email 2.37.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Rspam-User: X-Rspamd-Queue-Id: 668694000C X-Rspamd-Server: rspam01 X-Stat-Signature: 1onfkhsbbbuchpunt46t6apmyb54gqmk X-HE-Tag: 1674763660-418743 X-HE-Meta: U2FsdGVkX1/IPULtLxw6Z04v+cQIAT8hsH9IHPmVayvqf/WHg9zEKfAJhbA1On+g4kwY0tQpnclxvyPx/pWlS4pZwfStS9NlLFLg0e+TPdj978urNNc2JGvClndGUmO9eojk3541Y395bGPlmdYuzyIMVKLRSWPf8aoCHaG8jCVC5h2mWHyIvMy+ZvXgZZYPUnMyhPj4VJl1PBWG6eGimGLgTZVfCzmMajfBjqoLGEJAKeB6FpGBC7e7ijQ3HVamYaBcweb3DnhgS2SCPr9MZvOzFeWS/YW2g+S0LoaM15Ku9xgMi4bp2m9PNSHgkFfyU8GGpNx0hknPc1OoPFBm3rhah2OWDSHKWahe+gXXzFP5zKYRWLkCTLao9ldFyTlIXXgncgAEHujWd0ubWKASKCtTRogcNkdXsVp0AranM+rqEMfqPHn+NV14JDdvUgQZHjd/dpqiFOOdmSIjrwj/MF6fSCZ+YgKgJza3lVgBKA+WKxGDIO79pQpDG5nq42/v/rdYqVixkrN7Mdq2k/CWTvqjA5agkRBMxniDbKNt7vhRbn+Ivrd5IENuvd1imb0NpdomZh7HWLbkeGpt88dAj4XdZ4tg7I0leCNbQqOBReYQJFsiatcLbuQuapM635+JYSzkUYlZtQYIB1wnTkQhcrMiVVKfzhOBNPsm3a6iCX5xJiT1m+OxIFVSJZAiufgWPHpJW10I4bZD//m4sjufcrLa9351NCZaVH0XIekdh8EpFD3M3h3a9/7XB22cmWpGir2laoheZ0bOeLiaJJckB+4ctJ1WbhlNVxUeDU/gjxZ8aszUQDDBKEqsSE5P0db/6tiZQmONdObox9/jEF4V+73Tx96XYLQlnwo1EuHxl+JOnlGBax8/zeKUu/18i5Cl1YPpwbbwH+s/IMPurqP5L4zGDwQKq0Z7DIpaEj3TIoGR99jjQMSVE2ByEawCDm4SXCdU75yJ3ET9d8D5H8X xeSKieig IHL2ZR4/2COAnuZFkOqu7jhmwRH+keWIfbrj5ZR9sJFEhR5DnDe/Vqg1FPL7v6IfyneYjW6OZjJUvLmqx49zUSl94REmBLq5G0srlrZWOUZ+xah5TFxGM+7PoJb4+NUOFjn0tzyp2Tw4/oaHpwVFtOZN+KshoeJJKVANxuSb5UWaqNIznPSx4E+0st8KLOIW5hvoCnj1/NGzzi5O8m0wYlqY0fyX/s6sIa7u3nSyzUd2PbTLLnmkyNKvUxzLLt4VXySudZhQEdd3BxgHaktGW5ht3g4hIQ06MwKt+7ek/nntRUQYsgUAJ6zLYtg== 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: We already round down the address in kunmap_local_indexed() which is the other implementation of __kunmap_local(). The only implementation of kunmap_flush_on_unmap() is PA-RISC which is expecting a page-aligned address. This may be causing PA-RISC to be flushing the wrong addresses currently. Signed-off-by: Matthew Wilcox (Oracle) Fixes: 298fa1ad5571 ("highmem: Provide generic variant of kmap_atomic*") Cc: stable@vger.kernel.org --- include/linux/highmem-internal.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/highmem-internal.h b/include/linux/highmem-internal.h index 034b1106d022..e098f38422af 100644 --- a/include/linux/highmem-internal.h +++ b/include/linux/highmem-internal.h @@ -200,7 +200,7 @@ static inline void *kmap_local_pfn(unsigned long pfn) static inline void __kunmap_local(const void *addr) { #ifdef ARCH_HAS_FLUSH_ON_KUNMAP - kunmap_flush_on_unmap(addr); + kunmap_flush_on_unmap(PTR_ALIGN_DOWN(addr, PAGE_SIZE)); #endif } @@ -227,7 +227,7 @@ static inline void *kmap_atomic_pfn(unsigned long pfn) static inline void __kunmap_atomic(const void *addr) { #ifdef ARCH_HAS_FLUSH_ON_KUNMAP - kunmap_flush_on_unmap(addr); + kunmap_flush_on_unmap(PTR_ALIGN_DOWN(addr, PAGE_SIZE)); #endif pagefault_enable(); if (IS_ENABLED(CONFIG_PREEMPT_RT)) -- 2.35.1