From: tip-bot for Toshi Kani <tipbot@zytor.com>
To: linux-tip-commits@vger.kernel.org
Cc: tglx@linutronix.de, luto@kernel.org,
linux-kernel@vger.kernel.org, mingo@kernel.org,
toshi.kani@hpe.com, bp@alien8.de, hpa@zytor.com,
gratian.crisan@ni.com
Subject: [tip:x86/urgent] x86/mm: Fix vmalloc_fault to use pXd_large
Date: Wed, 14 Mar 2018 12:27:53 -0700 [thread overview]
Message-ID: <tip-18a955219bf7d9008ce480d4451b6b8bf4483a22@git.kernel.org> (raw)
In-Reply-To: <20180313170347.3829-2-toshi.kani@hpe.com>
Commit-ID: 18a955219bf7d9008ce480d4451b6b8bf4483a22
Gitweb: https://git.kernel.org/tip/18a955219bf7d9008ce480d4451b6b8bf4483a22
Author: Toshi Kani <toshi.kani@hpe.com>
AuthorDate: Tue, 13 Mar 2018 11:03:46 -0600
Committer: Thomas Gleixner <tglx@linutronix.de>
CommitDate: Wed, 14 Mar 2018 20:22:42 +0100
x86/mm: Fix vmalloc_fault to use pXd_large
Gratian Crisan reported that vmalloc_fault() crashes when CONFIG_HUGETLBFS
is not set since the function inadvertently uses pXn_huge(), which always
return 0 in this case. ioremap() does not depend on CONFIG_HUGETLBFS.
Fix vmalloc_fault() to call pXd_large() instead.
Fixes: f4eafd8bcd52 ("x86/mm: Fix vmalloc_fault() to handle large pages properly")
Reported-by: Gratian Crisan <gratian.crisan@ni.com>
Signed-off-by: Toshi Kani <toshi.kani@hpe.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: stable@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: Borislav Petkov <bp@alien8.de>
Cc: Andy Lutomirski <luto@kernel.org>
Link: https://lkml.kernel.org/r/20180313170347.3829-2-toshi.kani@hpe.com
---
arch/x86/mm/fault.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/x86/mm/fault.c b/arch/x86/mm/fault.c
index c88573d90f3e..25a30b5d6582 100644
--- a/arch/x86/mm/fault.c
+++ b/arch/x86/mm/fault.c
@@ -330,7 +330,7 @@ static noinline int vmalloc_fault(unsigned long address)
if (!pmd_k)
return -1;
- if (pmd_huge(*pmd_k))
+ if (pmd_large(*pmd_k))
return 0;
pte_k = pte_offset_kernel(pmd_k, address);
@@ -475,7 +475,7 @@ static noinline int vmalloc_fault(unsigned long address)
if (pud_none(*pud) || pud_pfn(*pud) != pud_pfn(*pud_ref))
BUG();
- if (pud_huge(*pud))
+ if (pud_large(*pud))
return 0;
pmd = pmd_offset(pud, address);
@@ -486,7 +486,7 @@ static noinline int vmalloc_fault(unsigned long address)
if (pmd_none(*pmd) || pmd_pfn(*pmd) != pmd_pfn(*pmd_ref))
BUG();
- if (pmd_huge(*pmd))
+ if (pmd_large(*pmd))
return 0;
pte_ref = pte_offset_kernel(pmd_ref, address);
next prev parent reply other threads:[~2018-03-14 19:28 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-03-13 17:03 [PATCH 0/2] x86/mm: vmalloc_fault fix for CONFIG_HUGETLBFS off Toshi Kani
2018-03-13 17:03 ` [PATCH 1/2] x86/mm: fix vmalloc_fault to use pXd_large Toshi Kani
2018-03-14 19:27 ` tip-bot for Toshi Kani [this message]
2018-03-13 17:03 ` [PATCH 2/2] x86/mm: remove pointless checks in vmalloc_fault Toshi Kani
2018-03-14 19:27 ` Thomas Gleixner
2018-03-14 19:38 ` Kani, Toshi
2018-03-14 19:56 ` Thomas Gleixner
2018-03-14 20:07 ` Kani, Toshi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=tip-18a955219bf7d9008ce480d4451b6b8bf4483a22@git.kernel.org \
--to=tipbot@zytor.com \
--cc=bp@alien8.de \
--cc=gratian.crisan@ni.com \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@kernel.org \
--cc=tglx@linutronix.de \
--cc=toshi.kani@hpe.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.