From: Oleg Nesterov <oleg@redhat.com>
To: Scott James Remnant <scott@netsplit.com>
Cc: linux-kernel@vger.kernel.org,
Mandeep Singh Baines <msb@chromium.org>,
Neil Horman <nhorman@tuxdriver.com>
Subject: Re: [PATCH] coredump: wait on the core pattern umh at least once
Date: Sat, 29 Oct 2011 16:13:23 +0200 [thread overview]
Message-ID: <20111029141323.GA7036@redhat.com> (raw)
In-Reply-To: <1319832688-30336-1-git-send-email-scott@netsplit.com>
On 10/28, Scott James Remnant wrote:
>
> If a thread crashes as a result of a signal on the thread group leader
> that signal can still be pending,
No. do_coredump() clears TIF_SIGPENDING.
The problem is, this is obviously not enough and should be fixed.
> While the helper obviously has to deal with that, tweaking this loop
> so it runs at least one iteration even in that case helps a lot.
I don't understand this patch. It doesn't look right at all.
> @@ -2030,11 +2030,11 @@ static void wait_for_dump_helpers(struct file *file)
> pipe->readers++;
> pipe->writers--;
>
> - while ((pipe->readers > 1) && (!signal_pending(current))) {
> + do {
> wake_up_interruptible_sync(&pipe->wait);
> kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN);
> pipe_wait(pipe);
This can hang forever. We didn't check pipe->readers, it it is zero
nobody can wakeup us.
> + } while ((pipe->readers > 1) && (!signal_pending(current)));
And, it doesn't make any sense to call pipe_wait() with signal_pending(),
it won't block. Note that pipe_wait() schedules in TASK_INTERRUPTIBLE.
I already tried to explain why this signal_pending() was added, but
apparently I was not clear. I'll try again in the previous thread.
Oleg.
next prev parent reply other threads:[~2011-10-29 14:17 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-28 20:11 [PATCH] coredump: wait on the core pattern umh at least once Scott James Remnant
2011-10-28 20:22 ` Neil Horman
2011-10-28 21:16 ` Scott James Remnant
2011-10-29 14:13 ` Oleg Nesterov [this message]
2011-10-29 18:01 ` Scott James Remnant
2011-10-29 19:30 ` Oleg Nesterov
2011-10-29 19:38 ` Scott James Remnant
2011-10-31 21:18 ` Neil Horman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20111029141323.GA7036@redhat.com \
--to=oleg@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=msb@chromium.org \
--cc=nhorman@tuxdriver.com \
--cc=scott@netsplit.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.