From mboxrd@z Thu Jan 1 00:00:00 1970 Received: with ECARTIS (v1.0.0; list linux-mips); Thu, 10 Aug 2017 04:06:14 +0200 (CEST) Received: from smtpbgbr2.qq.com ([54.207.22.56]:42580 "EHLO smtpbgbr2.qq.com" rhost-flags-OK-OK-OK-OK) by eddie.linux-mips.org with ESMTP id S23993940AbdHJCGIFz6rC (ORCPT ); Thu, 10 Aug 2017 04:06:08 +0200 X-QQ-mid: bizesmtp4t1502330737te8z20px3 Received: from software.domain.org (unknown [222.92.8.142]) by esmtp4.qq.com (ESMTP) with id ; Thu, 10 Aug 2017 10:04:16 +0800 (CST) X-QQ-SSF: 01100000004000F0FMF0000A0000000 X-QQ-FEAT: 3GtnPQ8BMmYX7kVtOCSaQ7wOTwwwa+KHS7Bhd055dxs6nvWUiBhMyk52lBBIy YwLnjQYIt+o3zL/XvrqDJy9VUS5MT1t9s0Q4S3WdkJJ0i9K/s+6fD4+c3okUBajvA44IT0A ULP0hDSX3az6urHjynEzDEJvZVJ4Z4reTKVVmP0/+hUvRZoPwyvAfeUr0CFWA6aFXoVvYsQ Y+dv8wap8waGOW6dpbMKJqLC95dhNatUUNh4ARbX5y5HyL0I405+siMP3on10BVU/3TyFZG oUdCrfQkAeAiuxDs07bOwEzLcdTBijBZZlsQ== X-QQ-GoodBg: 0 From: Huacai Chen To: Ralf Baechle Cc: John Crispin , "Steven J . Hill" , linux-mips@linux-mips.org, Fuxin Zhang , Zhangjin Wu , Huacai Chen , stable@vger.kernel.org Subject: [PATCH 3/8] MIPS: Ensure pmd_present() returns false after pmd_mknotpresent() Date: Thu, 10 Aug 2017 10:04:37 +0800 Message-Id: <1502330682-16812-2-git-send-email-chenhc@lemote.com> X-Mailer: git-send-email 2.7.0 In-Reply-To: <1502330682-16812-1-git-send-email-chenhc@lemote.com> References: <1502330433-16670-1-git-send-email-chenhc@lemote.com> <1502330682-16812-1-git-send-email-chenhc@lemote.com> X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:lemote.com:qybgforeign:qybgforeign1 X-QQ-Bgrelay: 1 Return-Path: X-Envelope-To: <"|/home/ecartis/ecartis -s linux-mips"> (uid 0) X-Orcpt: rfc822;linux-mips@linux-mips.org Original-Recipient: rfc822;linux-mips@linux-mips.org X-archive-position: 59465 X-ecartis-version: Ecartis v1.0.0 Sender: linux-mips-bounce@linux-mips.org Errors-to: linux-mips-bounce@linux-mips.org X-original-sender: chenhc@lemote.com Precedence: bulk List-help: List-unsubscribe: List-software: Ecartis version 1.0.0 List-Id: linux-mips X-List-ID: linux-mips List-subscribe: List-owner: List-post: List-archive: X-list: linux-mips This patch is borrowed from ARM64 to ensure pmd_present() returns false after pmd_mknotpresent(). This is needed for THP. Cc: stable@vger.kernel.org Signed-off-by: Huacai Chen --- arch/mips/include/asm/pgtable-64.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/mips/include/asm/pgtable-64.h b/arch/mips/include/asm/pgtable-64.h index 67fe6dc..a2252c2 100644 --- a/arch/mips/include/asm/pgtable-64.h +++ b/arch/mips/include/asm/pgtable-64.h @@ -271,6 +271,11 @@ static inline int pmd_bad(pmd_t pmd) static inline int pmd_present(pmd_t pmd) { +#ifdef CONFIG_MIPS_HUGE_TLB_SUPPORT + if (unlikely(pmd_val(pmd) & _PAGE_HUGE)) + return pmd_val(pmd) & _PAGE_PRESENT; +#endif + return pmd_val(pmd) != (unsigned long) invalid_pte_table; } -- 2.7.0