Messages in this thread | | | Date | Wed, 14 Sep 2005 10:14:08 +0100 (BST) | From | Hugh Dickins <> | Subject | Re: [PATCH] error path in setup_arg_pages() misses vm_unacct_memory() |
| |
On Wed, 14 Sep 2005, Kirill Korotaev wrote: > > is vma accounting in arch/x86_64/ia32/syscall32.c and arch/ppc64/kernel/vdso.c > removed due to fixed size of vma (vsyscall/vdso mappings)? > in other respects it looks ok.
It's removed because without VM_ACCOUNT it was steadily leaking: the main path was wrong, never mind the error path. We could add VM_ACCOUNT to the flags to fix that, but in 99.999% of cases we should not be accounting these - all mms are sharing the same page.
Ben designed it to allow for gdb setting breakpoints in the vDSO page (COW then giving a private page), but that's an very unusual case, which isn't handled quite right anyway: we need to take a separate look at that sometime - we account for what's VM_WRITE, not for what ptrace might write to by the backdoor.
> > So x86_64 32-bit and ppc64 vDSO ELFs have been leaking memory into > > Committed_AS each time they're run. But don't add VM_ACCOUNT to them, > > it's inappropriate to reserve against the very unlikely case that gdb > > be used to COW a vDSO page - we ought to do something about that in > > do_wp_page, but there are yet other inconsistencies to be resolved.
Hugh - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |