From patchwork Wed Jun 27 14:13:46 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Kani, Toshi" X-Patchwork-Id: 10491759 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 E586A602B3 for ; Wed, 27 Jun 2018 14:15:53 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id D624829371 for ; Wed, 27 Jun 2018 14:15:53 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id C9B122937C; Wed, 27 Jun 2018 14:15:53 +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 C39E329371 for ; Wed, 27 Jun 2018 14:15:52 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 894126B0010; Wed, 27 Jun 2018 10:15:51 -0400 (EDT) Delivered-To: linux-mm-outgoing@kvack.org Received: by kanga.kvack.org (Postfix, from userid 40) id 843A06B0266; Wed, 27 Jun 2018 10:15:51 -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 759FB6B0269; Wed, 27 Jun 2018 10:15:51 -0400 (EDT) X-Original-To: linux-mm@kvack.org X-Delivered-To: linux-mm@kvack.org Received: from mail-ot0-f198.google.com (mail-ot0-f198.google.com [74.125.82.198]) by kanga.kvack.org (Postfix) with ESMTP id 46D916B0010 for ; Wed, 27 Jun 2018 10:15:51 -0400 (EDT) Received: by mail-ot0-f198.google.com with SMTP id w15-v6so1508808otk.12 for ; Wed, 27 Jun 2018 07:15:51 -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=NtEqa/0IAn7zlq+dOhckd5Keidcp4beZ9Jgz1unaYbE=; b=EFrjoH/09uKF2nXvKGLB03eGnAh/KuibZnQpkbdSLrlzUd5hbGk7yANUfiwMZYfMhC ciu5AGxS/ANrQBfY+Ag7djRKUsfIktxfWES4KtikV/+u2X7xWtWs4JsUN6+UxdMs3qiZ 8sGbGf35QKJdy80kbyNvVZZ09Uque+PWJrCgD5HTdMaZKF5fQ+dZaHTsWUlCbLbid7RC Dzyg38bt+zl/XotTMugPrjYfsDz5VyCYAgkSoynf1udIftsAoia81McfZzrfs1PGlRN4 hWT6Yd7FjRVwx4BXL6t6pxrGNsH0Wl5jyBOXdYYbR9IoWR/we6Fs6G4VXvPi1yAPUhBf 0Ufg== X-Original-Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of toshi.kani@hpe.com designates 15.241.48.73 as permitted sender) smtp.mailfrom=toshi.kani@hpe.com X-Gm-Message-State: APt69E2CrDyHzjzvuqM2R4cN3s+FDK0nCfHNzJ6ID72uUX3MXICNCFUG tfz6OHQ9lsJoioVkCJdIf/Cw2mtIgv0Z3q/WRW6rg15xgXWoR6vMJdgLhublfspmdbtIaHDSzec 0jCylOI+ZI5Ss8yv47KXNF1l11Z+zDvF1+PUFeE++j6S6hAcINTkaw59wcF2TYoQgZQ== X-Received: by 2002:a9d:1ec8:: with SMTP id n66-v6mr3747608otn.351.1530108951048; Wed, 27 Jun 2018 07:15:51 -0700 (PDT) X-Google-Smtp-Source: AAOMgpeClHlirhwPxDXtT49mQUjr2QPiq7FkHM1rNjIyJIeXvOFOnRNoUfUaK/uAH3EM9rciaqeB X-Received: by 2002:a9d:1ec8:: with SMTP id n66-v6mr3747578otn.351.1530108950338; Wed, 27 Jun 2018 07:15:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530108950; cv=none; d=google.com; s=arc-20160816; b=ooKgZpLwrqUTbtxW4pY+o/kdGytX8mOp3pRgO3fYPY44byULoHImgToAJZikTFoljf CcYx8B1Y4nTc3r9ugOE88ynzq4JtOMD8fVN7OvzwXBZSaFHjpmKkoraGGq2SF7tGiddh 8+q77gjQ9wI0Su+1aYjR+ukBTya9DB2BGy08usc53w2QGiyOVA3kD5ZBgr5IyW4vDo0F Uuo0RnHk9Qv/Arraxm5EuhVZuQjFd58yn73rxUmon0PtKCa4WazKARNFya1Vo5y12Nx4 iG6Yy6BC1KeRCwPebf2HHj+K4aQy0OjjaXcbQqO0gmzBbwZkxag9F1/edlc+3ORGwxmu Kvrg== 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=NtEqa/0IAn7zlq+dOhckd5Keidcp4beZ9Jgz1unaYbE=; b=NdLJnbDzVqtqzvIz4qdnuq9TDjRcoSi0UsFYld09Qs1Nw2y5Lsqy9Me8MF/2jLnqlM 0Cwlj6Sux2L014aKxy8jWUcHU76tSChKTX0mIOoE5skYTYPA3rIl2FBBx0QYnWR+2O0l M9C9CmlYI/hdOEticsYs26Ia+5cFWIVwRb6HXp4FAuF4JUj8uYxixI3R00WLvuQteFZN lghJisXXeNUQKQgPpyfsTmkfYFKioSMYssjOsee0WcOcGdQV/yn88gPjlHtjIv2xpAU4 MFa7Ltajcv3DNExc/Mm8/Jmen3LAkLf3+rbtoAyChVwrPxwkOAlcZ63sKruhCXuClKyr vuMw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of toshi.kani@hpe.com designates 15.241.48.73 as permitted sender) smtp.mailfrom=toshi.kani@hpe.com Received: from g9t5009.houston.hpe.com (g9t5009.houston.hpe.com. [15.241.48.73]) by mx.google.com with ESMTPS id 123-v6si1370399oih.43.2018.06.27.07.15.50 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Jun 2018 07:15:50 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of toshi.kani@hpe.com designates 15.241.48.73 as permitted sender) client-ip=15.241.48.73; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of toshi.kani@hpe.com designates 15.241.48.73 as permitted sender) smtp.mailfrom=toshi.kani@hpe.com Received: from g4t3433.houston.hpecorp.net (g4t3433.houston.hpecorp.net [16.208.49.245]) by g9t5009.houston.hpe.com (Postfix) with ESMTP id E799F51; Wed, 27 Jun 2018 14:15:48 +0000 (UTC) Received: from misato.americas.hpqcorp.net (unknown [10.34.81.122]) by g4t3433.houston.hpecorp.net (Postfix) with ESMTP id 295AC47; Wed, 27 Jun 2018 14:15:48 +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 v4 1/3] x86/mm: disable ioremap free page handling on x86-PAE Date: Wed, 27 Jun 2018 08:13:46 -0600 Message-Id: <20180627141348.21777-2-toshi.kani@hpe.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180627141348.21777-1-toshi.kani@hpe.com> References: <20180627141348.21777-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 47b5951e592b..1aeb7a5dbce5 100644 --- a/arch/x86/mm/pgtable.c +++ b/arch/x86/mm/pgtable.c @@ -719,6 +719,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. @@ -766,4 +767,22 @@ int pmd_free_pte_page(pmd_t *pmd) return 1; } + +#else /* !CONFIG_X86_64 */ + +int pud_free_pmd_page(pud_t *pud) +{ + 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) +{ + return pmd_none(*pmd); +} + +#endif /* CONFIG_X86_64 */ #endif /* CONFIG_HAVE_ARCH_HUGE_VMAP */