Skip to contentSkip to conversation

linux/i386-pae: fix __pte_ma()

PATCH New Jan Beulich 1 participant 1 message Mar 5, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 linux/i386-pae: fix __pte_ma()

While at present there's no use of the macro that would suffer from its problem, this is a latent bug and should therefore be fixed (just like __pte() in the native kernel).

As usual, written and tested on 2.6.25-rc3 and made apply to the 2.6.18 tree without further testing.

include/asm-i386/mach-xen/asm/maddr.h +2 -2
@@ -154,6 +154,7 @@
 #endif
 
 #ifdef CONFIG_X86_PAE
+#define __pte_ma(x)	((pte_t) { (x), (x) >> 32 } )
 static inline pte_t pfn_pte_ma(unsigned long page_nr, pgprot_t pgprot)
 {
 	pte_t pte;
@@ -166,10 +166,9 @@
 	return pte;
 }
 #else
+#define __pte_ma(x)	((pte_t) { (x) } )
 #define pfn_pte_ma(pfn, prot)	__pte_ma(((pfn) << PAGE_SHIFT) | pgprot_val(prot))
 #endif
-
-#define __pte_ma(x)	((pte_t) { (x) } )
 
 #else /* !CONFIG_XEN */