git: hammer - Fix coredump bug which can stall processes

Matthew Dillon dillon at crater.dragonflybsd.org
Fri Mar 4 19:20:06 PST 2016


commit 2d7e662fe7a645599757bf93ef1b46168f9202e7
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Fri Mar 4 19:17:28 2016 -0800

    hammer - Fix coredump bug which can stall processes
    
    * Fix a coredump bug which can stall the process.  If a process > 100MB is
      in the process of being coredumped, a signal will cause the hammer_write()
      path to hit tstop() due to the core-dump being in progress.  Unfortunately
      the write might be happening from the kernel core generator itself which
      will stall the process forever with a number of locks held.
    
      hammer only checks for signals on very large (> 100MB) read() and write()
      calls so the issue does not effect coredumps of smaller processes.
    
    * Use CURSIG_NOBLOCK() instead of CURSIG().

Summary of changes:
 sys/vfs/hammer/hammer_signal.c | 8 ++++----
 sys/vfs/hammer2/hammer2_subr.c | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/2d7e662fe7a645599757bf93ef1b46168f9202e7


-- 
DragonFly BSD source repository



More information about the Commits mailing list