Re: PATCH Multithreaded core dump support for the 2.5.14 (and 15) kernel.

From: Andi Kleen (ak@suse.de)
Date: Thu May 16 2002 - 12:27:59 EST


On Thu, May 16, 2002 at 10:13:40AM -0400, Mark Gross wrote:
> Also, does anyone know WHY the mmap_sem is needed in the elf_core_dump code,
> and is this need still valid if I've suspended all the other processes that
> could even touch that mm? I.e. can I fix this by removing the down_write /
> up_write in elf_core_dump?

The mmap_sem is needed to access current->mm (especially the vma list)
safely. Otherwise someone else sharing the mm_struct could modify it.
If you make sure all others sharing the mm_struct are killed first
(including now way for them to start new clones inbetween) then
the only loophole left would be remote access using /proc/pid/mem or ptrace.
If you handle that too then it is probably safe to drop it. Unfortunately
I don't see a way to handle these remote users without at least
taking it temporarily.

Of course there are other semaphores in involved in dumping too (e.g. the
VFS ->write code may take the i_sem or other private ones). I guess they
won't be a big problem if you first kill and then dump later.

-Andi

-
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/



This archive was generated by hypermail 2b29 : Thu May 23 2002 - 22:00:12 EST