Messages in this thread |  | | Date | Sat, 22 Sep 2001 23:06:42 +0200 | From | Manfred Spraul <> | Subject | Re: Deadlock on the mm->mmap_sem |
| |
Andrea Arcangeli wrote: > > > I'll write a patch that moves the locking into the coredump handlers, > > then we can compare that with Andrea's proposal. > > Ok. > I've changed my mind:
Modifying the mmap_sem is a better solution for 2.4 than integrating the locking into elf_core_dump.
My patch copies the vm areas into a list (under down_write()) and calls up_write(), but I found 2 races: * the kernel must not touch VM_IO memory. Another thread could call "munmap(), mmap(,VM_IO)". * If another thread calls munmap(), my coredump handler would abort dumping due to the resulting pagefault.
The proper solution would be using a page table walker in elf_core_dump (similar to access_process_vm()), everything under down_write().
But that would be a large rewrite. I'm aware of at least 4 users who want such a page table walker: map_user_kiobuf, access_process_vm, singlecopy pipe (not merged), elf_core_dump.
-- Manfred - 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/
|  |