From: Thomas Gleixner <tglx@linutronix.de>
To: Mike Galbraith <efault@gmx.de>,
Gratian Crisan <gratian.crisan@ni.com>,
Peter Zijlstra <peterz@infradead.org>
Cc: linux-kernel@vger.kernel.org, linux-rt-users@vger.kernel.org,
Brandon Streiff <brandon.streiff@ni.com>,
Ingo Molnar <mingo@redhat.com>,
Darren Hart <dvhart@infradead.org>,
James Minor <james.minor@ni.com>,
Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Subject: Re: BUG_ON(!newowner) in fixup_pi_state_owner()
Date: Wed, 04 Nov 2020 12:17:28 +0100 [thread overview]
Message-ID: <871rh9mkvr.fsf@nanos.tec.linutronix.de> (raw)
In-Reply-To: <874km5mnbf.fsf@nanos.tec.linutronix.de>
On Wed, Nov 04 2020 at 11:24, Thomas Gleixner wrote:
> On Wed, Nov 04 2020 at 08:42, Mike Galbraith wrote:
>> On Wed, 2020-11-04 at 01:56 +0100, Mike Galbraith wrote:
>> --- a/kernel/futex.c
>> +++ b/kernel/futex.c
>> @@ -2383,7 +2383,18 @@ static int fixup_pi_state_owner(u32 __us
>> * Since we just failed the trylock; there must be an owner.
>> */
>> newowner = rt_mutex_owner(&pi_state->pi_mutex);
>> - BUG_ON(!newowner);
>> +
>> + /*
>> + * Why? Because I know what I'm doing with these beasts? Nope,
>> + * but what the hell, a busy restart loop let f_boosted become
>> + * owner, so go for it. Box still boots, works, no longer makes
>> + * boom with fbomb_v2, and as an added bonus, didn't even blow
>> + * futextests all up. Maybe it'll help... or not, we'll see.
>> + */
>> + if (unlikely(!newowner)) {
>> + err = -EAGAIN;
>> + goto handle_err;
>
> Yes, that cures it, but does not really explain why newowner is
> NULL. Lemme stare more.
Aside of that it's going to create inconsistent state in the worst
case. There is something really fishy in the trace Gratian provided....
next prev parent reply other threads:[~2020-11-04 11:17 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-28 23:24 BUG_ON(!newowner) in fixup_pi_state_owner() Gratian Crisan
2020-11-03 23:31 ` Gratian Crisan
2020-11-04 0:56 ` Mike Galbraith
2020-11-04 7:42 ` Mike Galbraith
2020-11-04 10:24 ` Thomas Gleixner
2020-11-04 11:17 ` Thomas Gleixner [this message]
2020-11-04 13:26 ` Thomas Gleixner
2020-11-04 13:43 ` Mike Galbraith
2020-11-04 15:12 ` [PATCH] futex: Handle transient "ownerless" rtmutex state correctly Thomas Gleixner
2020-11-04 15:22 ` Thomas Gleixner
2020-11-04 16:50 ` Mike Galbraith
2020-11-05 6:32 ` Gratian Crisan
2020-11-04 10:00 ` BUG_ON(!newowner) in fixup_pi_state_owner() Thomas Gleixner
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=871rh9mkvr.fsf@nanos.tec.linutronix.de \
--to=tglx@linutronix.de \
--cc=bigeasy@linutronix.de \
--cc=brandon.streiff@ni.com \
--cc=dvhart@infradead.org \
--cc=efault@gmx.de \
--cc=gratian.crisan@ni.com \
--cc=james.minor@ni.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-users@vger.kernel.org \
--cc=mingo@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).