> @@ -107,20 +107,21 @@ __init_refok pte_t *pte_alloc_one_kernel > return pte; > } > > -struct page *pte_alloc_one(struct mm_struct *mm, unsigned long address) > +pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address) > { > struct page *ptepage; > > #ifdef CONFIG_HIGHPTE > - gfp_t flags = GFP_KERNEL | __GFP_HIGHMEM | __GFP_REPEAT; > + gfp_t flags = GFP_KERNEL | __GFP_HIGHMEM | __GFP_REPEAT | __GFP_ZERO; > #else > - gfp_t flags = GFP_KERNEL | __GFP_REPEAT; > + gfp_t flags = GFP_KERNEL | __GFP_REPEAT | __GFP_ZERO; > #endif > > ptepage = alloc_pages(flags, 0); > - if (ptepage) > - clear_highpage(ptepage); > - return ptepage; > + if (!ptepage) > + return NULL; > + pgtable_page_ctor(ptepage); > + return page_address(ptepage); > } > > void pte_free_kernel(struct mm_struct *mm, pte_t *pte) Hmpf, where is my brown paper bag? The pte_alloc_one function for 32 bit powerpc should better return a struct page pointer .. fix below. -- blue skies, Martin. "Reality continues to ruin my life." - Calvin. --- diff -urpN linux-2.6/arch/powerpc/mm/pgtable_32.c linux-2.6-patched/arch/powerpc/mm/pgtable_32.c --- linux-2.6/arch/powerpc/mm/pgtable_32.c 2007-10-26 09:38:30.000000000 +0200 +++ linux-2.6-patched/arch/powerpc/mm/pgtable_32.c 2007-10-26 10:01:10.000000000 +0200 @@ -121,7 +121,7 @@ pgtable_t pte_alloc_one(struct mm_struct if (!ptepage) return NULL; pgtable_page_ctor(ptepage); - return page_address(ptepage); + return ptepage; } void pte_free_kernel(struct mm_struct *mm, pte_t *pte) - To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html