Bug 766478

Summary: rhel5 x86_64 __pa don't support address space above 0xffffffff80000000
Product: Red Hat Enterprise Linux 5 Reporter: Jian Li <jiali>
Component: kernelAssignee: Larry Woodman <lwoodman>
Status: CLOSED WONTFIX QA Contact: Red Hat Kernel QE team <kernel-qe>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 5.8CC: aquini, jiali, lwoodman, nmurray
Target Milestone: rcKeywords: Reopened
Target Release: ---Flags: pm-rhel: needinfo? (jiali)
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-02 13:23:55 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jian Li 2011-12-12 06:37:17 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Jian Li 2011-12-17 05:31:50 UTC
!!

In rhel6, 
#define __pa(x)     __phys_addr((unsigned long)(x))

unsigned long __phys_addr(unsigned long x)
{                 
    if (x >= __START_KERNEL_map) {
        x -= __START_KERNEL_map;
        VIRTUAL_BUG_ON(x >= KERNEL_IMAGE_SIZE);
        x += phys_base;
    } else {
        VIRTUAL_BUG_ON(x < PAGE_OFFSET);
        x -= PAGE_OFFSET;
        VIRTUAL_BUG_ON(!phys_addr_valid(x));
    }
    return x;
}

In rhel5,
#define __pa(x)         ((unsigned long)(x) - PAGE_OFFSET)

and after scanning code, 
PAGE_OFFSET = 0xffff810000000000UL
__START_KERNEL_map = 0xffffffff80000000UL

So if use __pa on the address of static var or local var(with address above 0xffffffff80000000), then __pa will return wrong value. 
and in sparse memory mode, virt_to_page use __pa. virt_to_page will crash the kernel.

Does this enough???

Comment 3 RHEL Program Management 2014-03-07 13:56:55 UTC
This bug/component is not included in scope for RHEL-5.11.0 which is the last RHEL5 minor release. This Bugzilla will soon be CLOSED as WONTFIX (at the end of RHEL5.11 development phase (Apr 22, 2014)). Please contact your account manager or support representative in case you need to escalate this bug.

Comment 4 RHEL Program Management 2014-06-02 13:23:55 UTC
Thank you for submitting this request for inclusion in Red Hat Enterprise Linux 5. We've carefully evaluated the request, but are unable to include it in RHEL5 stream. If the issue is critical for your business, please provide additional business justification through the appropriate support channels (https://access.redhat.com/site/support).