From 7e89abeb94e6a956f2fe11ab6697f37d16303877 Mon Sep 17 00:00:00 2001 From: Adam Litke Date: Sat, 3 Sep 2005 15:55:01 -0700 Subject: [PATCH] --- yaml --- r: 6876 b: refs/heads/master c: 02b0ccef903e85673ead74ddb7c431f2f7ce183d h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/i386/mm/hugetlbpage.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 050700ed77dc..9ff858059ec4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 7bf07f3d4b4358aa6d99a26d7a0165f1e91c3fcc +refs/heads/master: 02b0ccef903e85673ead74ddb7c431f2f7ce183d diff --git a/trunk/arch/i386/mm/hugetlbpage.c b/trunk/arch/i386/mm/hugetlbpage.c index 57c486f0e896..24c8a536b588 100644 --- a/trunk/arch/i386/mm/hugetlbpage.c +++ b/trunk/arch/i386/mm/hugetlbpage.c @@ -46,8 +46,11 @@ pte_t *huge_pte_offset(struct mm_struct *mm, unsigned long addr) pmd_t *pmd = NULL; pgd = pgd_offset(mm, addr); - pud = pud_offset(pgd, addr); - pmd = pmd_offset(pud, addr); + if (pgd_present(*pgd)) { + pud = pud_offset(pgd, addr); + if (pud_present(*pud)) + pmd = pmd_offset(pud, addr); + } return (pte_t *) pmd; }