git: kernel - Fix panic during coredump
Matthew Dillon
dillon at crater.dragonflybsd.org
Fri Jul 10 00:40:31 PDT 2015
commit f5b92db707a8f80d80fd78012a3fcdda94a8dd8a
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Fri Jul 10 00:37:32 2015 -0700
kernel - Fix panic during coredump
* multi-threaded coredumps were not stopping all other threads before
attempting to scan the vm_map, resulting in numerous possible panics.
* Add a new process state, SCORE, indicating that a core dump is in progress
and adjust proc_stop() and friends as well as any code which tests the
SSTOP state. SCORE overrides SSTOP.
* The coredump code actively waits for all running threads to stop before
proceeding.
* Prevent a deadlock between a SIGKILL and core dump in progress by
temporarily counting the master exit thread as a stopped thread (which
allows the coredump to proceed and finish).
Reported-by: marino
Summary of changes:
sys/kern/kern_checkpoint.c | 14 +++++---
sys/kern/kern_exit.c | 29 ++++++++++++++--
sys/kern/kern_sig.c | 66 ++++++++++++++++++++++++++++--------
sys/kern/kern_synch.c | 2 +-
sys/kern/sys_process.c | 2 +-
sys/platform/pc64/x86_64/trap.c | 5 +--
sys/platform/vkernel64/x86_64/trap.c | 5 +--
sys/sys/proc.h | 5 +--
sys/vfs/procfs/procfs_ctl.c | 6 ++--
sys/vm/vm_pageout.c | 4 +--
10 files changed, 102 insertions(+), 36 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f5b92db707a8f80d80fd78012a3fcdda94a8dd8a
--
DragonFly BSD source repository
More information about the Commits
mailing list