--- linux-2.6.13.1/arch/ppc64/kernel/vdso.c.ppcfix 2005-09-13 15:44:17.000000000 +0400 +++ linux-2.6.13.1/arch/ppc64/kernel/vdso.c 2005-09-13 15:47:26.000000000 +0400 @@ -237,8 +237,11 @@ int arch_setup_additional_pages(struct l */ vdso_base = get_unmapped_area(NULL, vdso_base, vdso_pages << PAGE_SHIFT, 0, 0); - if (vdso_base & ~PAGE_MASK) + if (vdso_base & ~PAGE_MASK) { + vm_unacct_memory(vdso_pages); + kmem_cache_free(vm_area_cachep, vma); return (int)vdso_base; + } current->thread.vdso_base = vdso_base;