Thread (5 messages) 5 messages, 3 authors, 2007-03-19
STALE7134d

[PATCH] Always use virt_to_phys() when translating kernel addresses

From: Franck Bui-Huu <hidden>
Date: 2007-03-19 09:43:03
Subsystem: the rest · Maintainer: Linus Torvalds

From: Franck Bui-Huu <redacted>

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 <redacted>
Signed-off-by: Franck Bui-Huu <redacted>
---

 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help