Hi Andrew, The 2.6.24-mm1 kernel build fails with
arch/x86/mm/pgtable_32.c: In function `pgd_mop_up_pmds': arch/x86/mm/pgtable_32.c:302: warning: passing arg 1 of `pmd_free' from incompatible pointer type arch/x86/mm/pgtable_32.c:302: error: too few arguments to function `pmd_free' I have tested the patch for the build failure only. Signed-off-by: Kamalesh Babulal <[EMAIL PROTECTED]> -- --- linux-2.6.24/arch/x86/mm/pgtable_32.c 2008-02-04 07:36:36.000000000 +0000 +++ linux-2.6.24/arch/x86/mm/~pgtable_32.c 2008-02-04 07:38:02.000000000 +0000 @@ -286,7 +286,7 @@ static void pgd_dtor(void *pgd) * preallocate which never got a corresponding vma will need to be * freed manually. */ -static void pgd_mop_up_pmds(pgd_t *pgdp) +static void pgd_mop_up_pmds(struct mm_struct *mm, pgd_t *pgdp) { int i; @@ -299,7 +299,7 @@ static void pgd_mop_up_pmds(pgd_t *pgdp) pgdp[i] = native_make_pgd(0); paravirt_release_pd(pgd_val(pgd) >> PAGE_SHIFT); - pmd_free(pmd); + pmd_free(mm, pmd); } } } @@ -327,7 +327,7 @@ static int pgd_prepopulate_pmd(struct mm pmd_t *pmd = pmd_alloc_one(mm, addr); if (!pmd) { - pgd_mop_up_pmds(pgd); + pgd_mop_up_pmds(mm, pgd); return 0; } @@ -347,7 +347,7 @@ static int pgd_prepopulate_pmd(struct mm return 1; } -static void pgd_mop_up_pmds(pgd_t *pgd) +static void pgd_mop_up_pmds(struct mm_struct *mm, pgd_t *pgdp) { } #endif /* CONFIG_X86_PAE */ @@ -368,7 +368,7 @@ pgd_t *pgd_alloc(struct mm_struct *mm) void pgd_free(struct mm_struct *mm, pgd_t *pgd) { - pgd_mop_up_pmds(pgd); + pgd_mop_up_pmds(mm,pgd); quicklist_free(0, pgd_dtor, pgd); } -- Thanks & Regards, Kamalesh Babulal, Linux Technology Center, IBM, ISTL. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/