Linux do_coredump() and SMP systems

Greg KH greg at kroah.com
Tue Feb 17 10:12:06 EST 2015


On Tue, Feb 17, 2015 at 07:11:55PM +0530, Sudharsan Vijayaraghavan wrote:
> Hi All,
> 
> We are running 3.8 kernel.

That's pretty old and obsolete, why are you stuck with that version?

> I have a unique scenario, where we hit on several issues in do_coredump.
> We have a SMP system with thousands of cores, one pthread is tied to
> one core. The main process containing these pthreads runs in the first
> core.
> 
> Here is the issue # 1
> When one of threads core dump, we enter into do_coredump(), now one
> other thread in same process running in a different
> core can as well core dump(before SIGKILL was delivered to it as a
> consequence of first core dump)
> This gives way to entering into do_coredump more than once.
> Once we have two guys entering do_coredump() one can kill other with SIGKILL
> the result is completely unpredictable. No guarantee we will have two
> core files generated in the end
> 
> Linux kernel does not seem to handle it at all.
> Adding a spin lock within do_coredump() will solve the case of
> multiple entries into do_coredump()
> 
> I want to know whether Linux kernel really does not handle the above
> case or am I missing something?

Odd, we should handle this just fine, try emailing the developers
responsible for this code and cc: the linux-kernel mailing list so they
can work it out.

thanks,

greg k-h



More information about the Kernelnewbies mailing list