From: Franck Bui-Huu <fbuihuu@xxxxxxxxx> This patch fixes two places where we used plain 'x - PAGE_OFFSET' to achieve virtual to physical address convertion. This type of convertion is no more allowed since commit 6f284a2ce7b8bc49cb8455b1763357897a899abb. Reported-by: Maxime Bizon <mbizon@xxxxxxxxxx> Signed-off-by: Franck Bui-Huu <fbuihuu@xxxxxxxxx> --- Ralf, Could you apply this patch. Unfortunately I failed to report back these changes when submitting the original patch, and without it, platforms which are using (or trying to use) PHYS_OFFSET will break. Thanks, Franck include/asm-mips/pgtable-64.h | 2 +- include/asm-mips/pgtable.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/asm-mips/pgtable-64.h b/include/asm-mips/pgtable-64.h index a5b1871..49f5a1a 100644 --- a/include/asm-mips/pgtable-64.h +++ b/include/asm-mips/pgtable-64.h @@ -199,7 +199,7 @@ static inline unsigned long pud_page_vaddr(pud_t pud) { return pud_val(pud); } -#define pud_phys(pud) (pud_val(pud) - PAGE_OFFSET) +#define pud_phys(pud) virt_to_phys((void *)pud_val(pud)) #define pud_page(pud) (pfn_to_page(pud_phys(pud) >> PAGE_SHIFT)) /* Find an entry in the second-level page table.. */ diff --git a/include/asm-mips/pgtable.h b/include/asm-mips/pgtable.h index 3fcfd79..0d3295f 100644 --- a/include/asm-mips/pgtable.h +++ b/include/asm-mips/pgtable.h @@ -75,7 +75,7 @@ extern void paging_init(void); * Conversion functions: convert a page and protection to a page entry, * and a page entry and page directory to the page they refer to. */ -#define pmd_phys(pmd) (pmd_val(pmd) - PAGE_OFFSET) +#define pmd_phys(pmd) virt_to_phys((void *)pmd_val(pmd)) #define pmd_page(pmd) (pfn_to_page(pmd_phys(pmd) >> PAGE_SHIFT)) #define pmd_page_vaddr(pmd) pmd_val(pmd) -- 1.4.4.3.ge6d4