All of lore.kernel.org
 help / color / mirror / Atom feed
From: Oleg Nesterov <oleg@redhat.com>
To: Christian Brauner <brauner@kernel.org>
Cc: Jens Axboe <axboe@kernel.dk>,
	linux-fsdevel@vger.kernel.org,
	Alexander Viro <viro@zeniv.linux.org.uk>, Jan Kara <jack@suse.cz>,
	NeilBrown <neil@brown.name>, Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	linux-mm@kvack.org, io-uring@vger.kernel.org,
	stable@vger.kernel.org
Subject: Re: [PATCH v2 1/7] fork: refuse new threads while a coredump or an exec is in progress
Date: Mon, 21 Sep 2026 14:37:47 +0200	[thread overview]
Message-ID: <arElG0TGxxLFn7Ul@redhat.com> (raw)
In-Reply-To: <20260921-aufwiegen-festwagen-ozonkonzentration-ffe78eafa8fa@brauner>

On 09/21, Christian Brauner wrote:
>
> On Mon, Sep 21, 2026 at 12:32:36PM +0200, Oleg Nesterov wrote:
> > On 09/18, Christian Brauner wrote:
> > >
> > > zap_process() skips every thread that has PF_POSTCOREDUMP set.
> > > do_exit() sets PF_POSTCOREDUMP in synchronize_group_exit() and calls
> > > io_uring_files_cancel() right after that.
> > >
> > > That runs task work, create_worker_cb() runs and creates a new io-wq
> > > worker. If a thread started a coredump rgith before that worker gets
> > > created from a thread with PF_POSTCOREDUMP set which zap_processes()
> > > doesn't see. So two ways of fixing this:
> >
> > Christian, I got lost ;)
> >
> > TBH, I don't understand why the new io worker is really bad in this case.
>
> zap_processes() only counts threads it sends SIGKILL too. But every
> thread that later finds ->core_state decrements that count. An io-wq
> worker created from the exiting thread isn't counted and exits right
> away because the io-wq exit bit is already set. So it decrements without
> having been counted.

Aaah, I forgot that the new worker can exit too and notice
signal->core_state != NULL in synchronize_group_exit(). Thanks.

> > But lets forget about coredump/zap_process. With the change below the
> > io_uring_files_cancel() paths will no longer be able to create a new
> > worker, even if coredump is not in progress.
> >
> > Is it correct?
>
> Yes.

Great. Then I think your change is fine.

Oleg.


  reply	other threads:[~2026-09-21 12:37 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-17  9:17 [PATCH v2 0/7] coredump & signals: an impossible affair Christian Brauner
2026-09-17  9:17 ` [PATCH v2 1/7] fork: refuse new threads while a coredump or an exec is in progress Christian Brauner
2026-09-17 16:33   ` Bradley Morgan
2026-09-18 10:40   ` Oleg Nesterov
2026-09-18 12:24     ` Christian Brauner
2026-09-18 12:52       ` Christian Brauner
2026-09-18 13:41         ` Oleg Nesterov
2026-09-18 14:29           ` Christian Brauner
2026-09-18 15:00             ` Christian Brauner
2026-09-18 15:15               ` Christian Brauner
2026-09-21 10:32               ` Oleg Nesterov
2026-09-21 11:46                 ` Christian Brauner
2026-09-21 12:37                   ` Oleg Nesterov [this message]
2026-09-17  9:17 ` [PATCH v2 2/7] coredump: hold RCU while releasing parked threads Christian Brauner
2026-09-17  9:17 ` [PATCH v2 3/7] signal: only SIGKILL and the freezers interrupt a coredumping task Christian Brauner
2026-09-17  9:17 ` [PATCH v2 4/7] coredump: parse a snapshot of core_pattern Christian Brauner
2026-09-18 15:28   ` Oleg Nesterov
2026-09-17  9:17 ` [PATCH v2 5/7] io-wq: order the exit bit against worker creation task work Christian Brauner
2026-09-18 14:55   ` Oleg Nesterov
2026-09-17  9:17 ` [PATCH v2 6/7] signal: don't retarget shared signals in a dying thread group Christian Brauner
2026-09-18 14:24   ` Oleg Nesterov
2026-09-17  9:17 ` [PATCH v2 7/7] selftests/coredump: test shared signal retargeting during a dump Christian Brauner

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=arElG0TGxxLFn7Ul@redhat.com \
    --to=oleg@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=brauner@kernel.org \
    --cc=io-uring@vger.kernel.org \
    --cc=jack@suse.cz \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mingo@redhat.com \
    --cc=neil@brown.name \
    --cc=peterz@infradead.org \
    --cc=stable@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /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.