Bug 455434 - x86: fix PAE pmd_bad bootup warning
Summary: x86: fix PAE pmd_bad bootup warning
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: kernel
Version: 5.3
Hardware: All
OS: Linux
low
low
Target Milestone: rc
: ---
Assignee: Larry Woodman
QA Contact: Martin Jenner
URL:
Whiteboard:
Depends On:
Blocks: 455409
TreeView+ depends on / blocked
 
Reported: 2008-07-15 14:18 UTC by Prarit Bhargava
Modified: 2009-01-20 20:24 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-01-20 20:24:49 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Upstream fix for this issue (7.50 KB, patch)
2008-07-15 14:18 UTC, Prarit Bhargava
no flags Details | Diff
Patch that is needed for RHEL5-U3. (606 bytes, patch)
2008-07-22 14:28 UTC, Larry Woodman
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2009:0225 0 normal SHIPPED_LIVE Important: Red Hat Enterprise Linux 5.3 kernel security and bug fix update 2009-01-20 16:06:24 UTC

Description Prarit Bhargava 2008-07-15 14:18:08 UTC
Backport

Gitweb:    
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aeed5fce37196e09b4dac3a1c00d8b7122e040ce
Commit:     aeed5fce37196e09b4dac3a1c00d8b7122e040ce
Parent:     bb78be8397d3b0900af3d717672218ee3ea07985
Author:     Hugh Dickins <hugh>
AuthorDate: Tue May 6 20:49:23 2008 +0100
Committer:  Linus Torvalds <torvalds>
CommitDate: Tue May 6 13:08:58 2008 -0700

    x86: fix PAE pmd_bad bootup warning
    
    Fix warning from pmd_bad() at bootup on a HIGHMEM64G HIGHPTE x86_32.
    
    That came from 9fc34113f6880b215cbea4e7017fc818700384c2 x86: debug pmd_bad();
    but we understand now that the typecasting was wrong for PAE in the previous
    version: pagetable pages above 4GB looked bad and stopped Arjan from booting.
    
    And revert that cded932b75ab0a5f9181ee3da34a0a488d1a14fd x86: fix pmd_bad
    and pud_bad to support huge pages.  It was the wrong way round: we shouldn't
    weaken every pmd_bad and pud_bad check to let huge pages slip through - in
    part they check that we _don't_ have a huge page where it's not expected.
    
    Put the x86 pmd_bad() and pud_bad() definitions back to what they have long
    been: they can be improved (x86_32 should use PTE_MASK, to stop PAE thinking
    junk in the upper word is good; and x86_64 should follow x86_32's stricter
    comparison, to stop thinking any subset of required bits is good); but that
    should be a later patch.
    
    Fix Hans' good observation that follow_page() will never find pmd_huge()
    because that would have already failed the pmd_bad test: test pmd_huge in
    between the pmd_none and pmd_bad tests.  Tighten x86's pmd_huge() check?
    No, once it's a hugepage entry, it can get quite far from a good pmd: for
    example, PROT_NONE leaves it with only ACCESSED of the KERN_PGTABLE bits.
    
    However... though follow_page() contains this and another test for huge
    pages, so it's nice to keep it working on them, where does it actually get
    called on a huge page?  get_user_pages() checks is_vm_hugetlb_page(vma) to
    to call alternative hugetlb processing, as does unmap_vmas() and others.
    
    Signed-off-by: Hugh Dickins <hugh>
    Earlier-version-tested-by: Ingo Molnar <mingo>
    Cc: Thomas Gleixner <tglx>
    Cc: Jeff Chua <jeff.chua.linux>
    Cc: Hans Rosenfeld <hans.rosenfeld>
    Cc: Arjan van de Ven <arjan.com>
    Signed-off-by: Linus Torvalds <torvalds>

Comment 1 Prarit Bhargava 2008-07-15 14:18:08 UTC
Created attachment 311837 [details]
Upstream fix for this issue

Comment 3 Larry Woodman 2008-07-22 14:28:14 UTC
Created attachment 312348 [details]
Patch that is needed for RHEL5-U3.

Comment 4 Linda Wang 2008-07-31 18:37:07 UTC
Raise as an exception:

part of PAE support fix that went upstream in 2.6.25. 
Need to backport it into 5.3.

Comment 5 RHEL Program Management 2008-07-31 18:43:55 UTC
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release.  Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products.  This request is not yet committed for inclusion in an Update
release.

Comment 6 Don Zickus 2008-08-06 17:57:09 UTC
in kernel-2.6.18-102.el5
You can download this test kernel from http://people.redhat.com/dzickus/el5

Comment 10 errata-xmlrpc 2009-01-20 20:24:49 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2009-0225.html


Note You need to log in before you can comment on or make changes to this bug.