Bug 455434

Summary: x86: fix PAE pmd_bad bootup warning
Product: Red Hat Enterprise Linux 5 Reporter: Prarit Bhargava <prarit>
Component: kernelAssignee: Larry Woodman <lwoodman>
Status: CLOSED ERRATA QA Contact: Martin Jenner <mjenner>
Severity: low Docs Contact:
Priority: low    
Version: 5.3CC: dzickus, mgahagan
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-01-20 20:24:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 455409    
Attachments:
Description Flags
Upstream fix for this issue
none
Patch that is needed for RHEL5-U3. none

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