From: Thomas Gleixner <tglx@kernel.org>
To: Oleg Nesterov <oleg@redhat.com>
Cc: Frederic Weisbecker <frederic@kernel.org>,
Hyunwoo Kim <imv4bel@gmail.com>,
brauner@kernel.org, peterz@infradead.org,
anna-maria@linutronix.de, ebiederm@xmission.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] signal: Use list_del_init_careful() in flush_sigqueue()
Date: Thu, 27 Aug 2026 14:24:13 +0200 [thread overview]
Message-ID: <87pkz3g39u.ffs@fw13> (raw)
In-Reply-To: <ao8_NUo0ACPAA4QB@redhat.com>
On Wed, Aug 26 2026 at 21:32, Oleg Nesterov wrote:
> On 08/26, Thomas Gleixner wrote:
>>
>> On Wed, Aug 26 2026 at 11:36, Oleg Nesterov wrote:
>> >
>> > So. With this change release_task()->flush_sigqueue(&old_leader->pending)
>> > can still race with posixtimer_send_sigqueue(), but it will do nothing.
>> >
>> > But it also does "nothing" if tmr->sigq is already pending (!list_empty)
>> > so I am starting to think about the change below again...
>>
>> Sure, but that's an orthogonal optimization once we fixed the exec()
>> mess :)
>
> I am almost sure I missed something again. But I thought that this "optimization"
> can also fix the exec() mess we discuss in this thread?
It does not because the sigqueue stays linked in old_leader::pending and
any concurrent or later access to it from an expiry (see Hyunwoo's
explanation) will access freed memory: either old_leader::pending or
other unrelated sigqueue entries which have been freed.
I really don't understand why you are so obsessed about "fixing" it with
a dirty hack instead of just making it comprehensible, safe and future
proof in the first place.
I'm actually tempted to move the posix timer cleanup _before_
de_thread() and just make sure that no new timers can be created anymore.
Thanks,
tglx
next prev parent reply other threads:[~2026-08-27 12:24 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-22 5:37 [PATCH] signal: Use list_del_init_careful() in flush_sigqueue() Hyunwoo Kim
2026-08-22 10:27 ` Bradley Morgan
2026-08-23 12:47 ` Oleg Nesterov
2026-08-24 2:53 ` Hyunwoo Kim
2026-08-24 8:28 ` Oleg Nesterov
2026-08-24 8:04 ` Thomas Gleixner
2026-08-24 9:45 ` Thomas Gleixner
2026-08-24 11:02 ` Oleg Nesterov
2026-08-24 11:54 ` Oleg Nesterov
2026-08-24 13:59 ` Frederic Weisbecker
2026-08-24 14:29 ` Oleg Nesterov
2026-08-25 16:58 ` Thomas Gleixner
2026-08-25 18:53 ` Oleg Nesterov
2026-08-25 19:58 ` Thomas Gleixner
2026-08-26 9:36 ` Oleg Nesterov
2026-08-26 19:19 ` Thomas Gleixner
2026-08-26 19:32 ` Oleg Nesterov
2026-08-27 3:29 ` Eric W. Biederman
2026-08-27 9:35 ` Thomas Gleixner
2026-08-27 18:43 ` Eric W. Biederman
2026-08-27 22:56 ` Thomas Gleixner
2026-08-30 18:19 ` Thomas Gleixner
2026-08-30 22:04 ` Eric W. Biederman
2026-08-31 9:53 ` Thomas Gleixner
2026-08-31 10:50 ` [PATCH] signal: Prevent exec() race Thomas Gleixner
2026-08-31 11:35 ` David Laight
2026-08-31 12:44 ` Oleg Nesterov
2026-09-01 12:49 ` Thomas Gleixner
2026-08-31 12:52 ` Frederic Weisbecker
2026-09-01 12:55 ` Thomas Gleixner
2026-09-01 13:27 ` Frederic Weisbecker
2026-09-01 15:14 ` Thomas Gleixner
2026-08-31 15:26 ` Eric W. Biederman
2026-09-01 13:35 ` Thomas Gleixner
2026-09-01 17:21 ` Eric W. Biederman
2026-09-01 18:40 ` [PATCH V2] " Thomas Gleixner
2026-09-02 10:28 ` Oleg Nesterov
2026-09-02 10:45 ` Oleg Nesterov
2026-09-03 6:09 ` Thomas Gleixner
2026-09-02 11:23 ` Oleg Nesterov
2026-09-02 14:19 ` Oleg Nesterov
2026-09-02 15:39 ` Eric W. Biederman
2026-09-02 17:08 ` Oleg Nesterov
2026-09-03 6:42 ` Thomas Gleixner
2026-09-03 7:29 ` Oleg Nesterov
2026-08-27 12:24 ` Thomas Gleixner [this message]
2026-08-27 17:51 ` [PATCH] signal: Use list_del_init_careful() in flush_sigqueue() Thomas Gleixner
2026-08-24 12:11 ` Thomas Gleixner
2026-08-24 16:31 ` Frederic Weisbecker
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=87pkz3g39u.ffs@fw13 \
--to=tglx@kernel.org \
--cc=anna-maria@linutronix.de \
--cc=brauner@kernel.org \
--cc=ebiederm@xmission.com \
--cc=frederic@kernel.org \
--cc=imv4bel@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=oleg@redhat.com \
--cc=peterz@infradead.org \
/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.