From patchwork Tue May 15 21:39:29 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kani, Toshi" X-Patchwork-Id: 10402037 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 79F3B601E9 for ; Tue, 15 May 2018 21:40:52 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 6BBBD2865F for ; Tue, 15 May 2018 21:40:52 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 605CC28660; Tue, 15 May 2018 21:40:52 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=BAYES_00, MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A980E2862D for ; Tue, 15 May 2018 21:40:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 67C666B02D0; Tue, 15 May 2018 17:40:50 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 6554B6B02D1; Tue, 15 May 2018 17:40:50 -0400 (EDT) X-Original-To: int-list-linux-mm@kvack.org X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 51EA26B02D2; Tue, 15 May 2018 17:40:50 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-pl0-f71.google.com (mail-pl0-f71.google.com [209.85.160.71]) by kanga.kvack.org (Postfix) with ESMTP id 1228C6B02D0 for ; Tue, 15 May 2018 17:40:50 -0400 (EDT) Received: by mail-pl0-f71.google.com with SMTP id i1-v6so1010292pld.11 for ; Tue, 15 May 2018 14:40:50 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-original-authentication-results:x-gm-message-state:from:to:cc :subject:date:message-id:in-reply-to:references; bh=vAYomrBaZpFCkduE/qt5BTwZT2JNh7Y9a+ci7lxNNsU=; b=BfFEgFfmqyb920asBV9PnKdAq4kk3tBzFKWArBLop6NiLrWI6/p63F8chZJOZu8rHV OLmD5XhqZytu0Fr0GrYe8RHTc8F6ZPf//kt6dJ/r7+l60suedyHTMMW0X0+DukxmG6pe rbpNFVN1ctl9VVJpwjL4WjmiwvILorXwcrfpVfRJXq4ZIDRx5zYm2yZqWuFmGCffQOpA LPVUHFfInIXfIv3AoiKDJ7XvYWpKFazY50IPCmHuSAsOQd13CVHGpiqam710zlh1Nds6 7HrqlnhVS0jSADjNetfIwIjFGHJMH7Re/sOA6cAH5OUzwuzNN3bUfJJp3iYP3r6Yr7uM A8jQ== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of toshi.kani@hpe.com designates 15.233.44.27 as permitted sender) smtp.mailfrom=toshi.kani@hpe.com X-Gm-Message-State: ALKqPweNHkUbcvKAHPVbmge+5fkdqBo/F+whw0dhmbZyJ7EeazJxTJ5s tZfnAXYUAFhfAb7GR32VaU3s1UGG7xQ0GCLlhQWpUjzFxAdvUnydm/YTEsIpJ8LJehYOAxgJ8DB lUzk97oM9jhTN5mWEsOsgYbQIJU363bvkOdHiV0VKyRpcRurvxXjPUco+5s8K81yWRQ== X-Received: by 2002:a65:52cc:: with SMTP id z12-v6mr13509611pgp.126.1526420449749; Tue, 15 May 2018 14:40:49 -0700 (PDT) X-Google-Smtp-Source: AB8JxZoBTI6G8jjbVD8jl6XIEEOh/DTiO8+yXqkmoAwzJxC89f0dByyMWBsAKWxelUD8aDD0u4en X-Received: by 2002:a65:52cc:: with SMTP id z12-v6mr13509575pgp.126.1526420448738; Tue, 15 May 2018 14:40:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1526420448; cv=none; d=google.com; s=arc-20160816; b=gLJzxkWlh99C/lK25GkexAUjxd3ks7zjinl6sabV19AITUBhXoTL+dma/UuaijtG6T F8MBK1ZwdIR2XLd2oVExOfrH+Q+G2Mr/dmIOZLNaAE+j7zpcY3D777C2FPnS6hMakDBq 2rwO9TRHdqhl/sq2aQGtL8AUEqhYpU854oSnI0nva4fngOPTsRk1JPlVRM2HIjWNidZA vsVUjg8N7ATOFy+9bsU8S7kK6qe2xNpt6mhyHBLqe5uLNZGLx8nzU2cSNIGCsTcLKrPP 8KspHgFRDfeQnQ7blPQo90z14FzTkm66EuRRJq/T8yCiezwvA7jE1rTXJFdbRI4XNqnZ if0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from :arc-authentication-results; bh=vAYomrBaZpFCkduE/qt5BTwZT2JNh7Y9a+ci7lxNNsU=; b=0fYysL63gIUCTizSb1XLq0LznYmXLolljDFdZqEE4Rv9eiSz84xWFw80uJ/VvucNIW XpXMT2zqZbOxDKYDnSPQlnKgbZtW5K5XDaiJLvWmCcAEXPA+XWTGTbqYx/A53H2vzbWL oZPLDwARkO9xVehlnGmAZB7uarcdg3QXn9x9m69yc/YodEfc1BnaYyhAo9o56Q3tuXPL pUmjyNzygitZcUc3CMIAI59csaTXRYpRsaHfIwbSRfHVEYszopGqf2LAxb3ZnjDq6++J MIJJEHaKEigjzShsv+ymAf3/fPQB3VSCa4d0x++DS8TC7QzhiLoKPOpSB2FDKpS5NjBm Y1xw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of toshi.kani@hpe.com designates 15.233.44.27 as permitted sender) smtp.mailfrom=toshi.kani@hpe.com Received: from g2t2354.austin.hpe.com (g2t2354.austin.hpe.com. [15.233.44.27]) by mx.google.com with ESMTPS id d21-v6si939533pll.147.2018.05.15.14.40.48 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 15 May 2018 14:40:48 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of toshi.kani@hpe.com designates 15.233.44.27 as permitted sender) client-ip=15.233.44.27; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of toshi.kani@hpe.com designates 15.233.44.27 as permitted sender) smtp.mailfrom=toshi.kani@hpe.com Received: from g2t2360.austin.hpecorp.net (g2t2360.austin.hpecorp.net [16.196.225.135]) by g2t2354.austin.hpe.com (Postfix) with ESMTP id C1581C8; Tue, 15 May 2018 21:40:47 +0000 (UTC) Received: from misato.americas.hpqcorp.net (unknown [10.34.81.122]) by g2t2360.austin.hpecorp.net (Postfix) with ESMTP id EE96036; Tue, 15 May 2018 21:40:44 +0000 (UTC) From: Toshi Kani To: mhocko@suse.com, akpm@linux-foundation.org, tglx@linutronix.de, mingo@redhat.com, hpa@zytor.com Cc: cpandya@codeaurora.org, linux-mm@kvack.org, x86@kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Toshi Kani , Joerg Roedel , stable@vger.kernel.org Subject: [PATCH v2 1/3] x86/mm: disable ioremap free page handling on x86-PAE Date: Tue, 15 May 2018 15:39:29 -0600 Message-Id: <20180515213931.23885-2-toshi.kani@hpe.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180515213931.23885-1-toshi.kani@hpe.com> References: <20180515213931.23885-1-toshi.kani@hpe.com> 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: X-Virus-Scanned: ClamAV using ClamSMTP ioremap() supports pmd mappings on x86-PAE. However, kernel's pmd tables are not shared among processes on x86-PAE. Therefore, any update to sync'd pmd entries need re-syncing. Freeing a pte page also leads to a vmalloc fault and hits the BUG_ON in vmalloc_sync_one(). Disable free page handling on x86-PAE. pud_free_pmd_page() and pmd_free_pte_page() simply return 0 if a given pud/pmd entry is present. This assures that ioremap() does not update sync'd pmd entries at the cost of falling back to pte mappings. Fixes: 28ee90fe6048 ("x86/mm: implement free pmd/pte page interfaces") Reported-by: Joerg Roedel Signed-off-by: Toshi Kani Cc: Andrew Morton Cc: Michal Hocko Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: Joerg Roedel Cc: --- arch/x86/mm/pgtable.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/arch/x86/mm/pgtable.c b/arch/x86/mm/pgtable.c index ffc8c13c50e4..08cdd7c13619 100644 --- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c @@ -715,6 +715,7 @@ int pmd_clear_huge(pmd_t *pmd) return 0; } +#ifdef CONFIG_X86_64 /** * pud_free_pmd_page - Clear pud entry and free pmd page. * @pud: Pointer to a PUD. @@ -762,4 +763,22 @@ int pmd_free_pte_page(pmd_t *pmd) return 1; } + +#else /* !CONFIG_X86_64 */ + +int pud_free_pmd_page(pud_t *pud, unsigned long addr) +{ + return pud_none(*pud); +} + +/* + * Disable free page handling on x86-PAE. This assures that ioremap() + * does not update sync'd pmd entries. See vmalloc_sync_one(). + */ +int pmd_free_pte_page(pmd_t *pmd, unsigned long addr) +{ + return pmd_none(*pmd); +} + +#endif /* CONFIG_X86_64 */ #endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */