Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
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:


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


Links
System ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2009:0225 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@veritas.com>
AuthorDate: Tue May 6 20:49:23 2008 +0100
Committer:  Linus Torvalds <torvalds@linux-foundation.org>
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@veritas.com>
    Earlier-version-tested-by: Ingo Molnar <mingo@elte.hu>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Jeff Chua <jeff.chua.linux@gmail.com>
    Cc: Hans Rosenfeld <hans.rosenfeld@amd.com>
    Cc: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

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 Product and 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.