• Paul Burton's avatar
    MIPS: Disable pte_special() for MIPS32 with RiXi · d1af2ab3
    Paul Burton authored
    Commit 61cbfff4 ("MIPS: pte_special()/pte_mkspecial() support")
    added a _PAGE_SPECIAL bit to the pgprot bits of our PTEs. Unfortunately
    for MIPS32 configurations with RiXi support this pushed the number of
    pgprot bits to 13. Since the PFN field in EntryLo begins at bit 12 this
    results in us shifting the most significant bit of the physical address
    beyond the end of the PTE, leading any mapped access to a physical
    address above 2GB to incorrectly access an address 2GB lower than
    intended.
    
    For now, disable the pte_special() support for MIPS32 configurations
    that support RiXi.
    
    Fixes: 61cbfff4 ("MIPS: pte_special()/pte_mkspecial() support")
    Signed-off-by: default avatarPaul Burton <paul.burton@mips.com>
    Cc: Dmitry Korotin <dkorotin@wavecomp.com>
    Cc: linux-mips@vger.kernel.org
    d1af2ab3
pgtable-bits.h 7.39 KB