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

Daniel Jacobowitz
2002-05-16T17:36:36Z

On Thu, May 16, 2002 at 07:27:59PM +0200, Andi Kleen wrote:
> 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.

Except unfortunately we don't kill; the other threads are resumed
afterwards for cleanup. They're just suspended.

--
Daniel Jacobowitz Carnegie Mellon University
MontaVista Software Debian GNU/Linux Developer