Messages in this thread Patch in this message | | | From | Ben Chan <> | Subject | [PATCH] exec: abort core dump piping only due to a fatal signal | Date | Thu, 1 Mar 2012 10:23:47 -0800 |
| |
This patch makes wait_for_dump_helpers() not to abort piping the core dump data when the crashing process has received any but a fatal signal (SIGKILL). The rationale is that a crashing process may still receive uninteresting signals such as SIGCHLD when its core dump data is being redirected to a helper application. While it's necessary to allow terminating the core dump piping via SIGKILL, it's practically more useful for the purpose of debugging and crash reporting if the core dump piping is not aborted due to other non-fatal signals.
Addresses http://code.google.com/p/chromium-os/issues/detail?id=21559
Signed-off-by: Ben Chan <benchan@chromium.org> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Oleg Nesterov <oleg@redhat.com> Cc: linux-fsdevel@vger.kernel.org --- fs/exec.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/fs/exec.c b/fs/exec.c index 92ce83a..a614203 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -2031,7 +2031,7 @@ static void wait_for_dump_helpers(struct file *file) pipe->readers++; pipe->writers--; - while ((pipe->readers > 1) && (!signal_pending(current))) { + while ((pipe->readers > 1) && (!fatal_signal_pending(current))) { wake_up_interruptible_sync(&pipe->wait); kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN); pipe_wait(pipe); -- 1.7.7.3
| |