[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ydj7mzamqvcd56a6culzelmlmrjbhx7zumcilxcms62vf7qhqg@a76xrftxbndd>
Date: Wed, 28 Aug 2024 10:03:09 +0530
From: "Nysal Jan K.A." <nysal@...ux.ibm.com>
To: Michael Ellerman <mpe@...erman.id.au>
Cc: Nicholas Piggin <npiggin@...il.com>,
Geetika Moolchandani <geetika@...ux.ibm.com>,
Vaishnavi Bhat <vaish123@...ibm.com>,
Jijo Varghese <vargjijo@...ibm.com>,
Christophe Leroy <christophe.leroy@...roup.eu>,
Naveen N Rao <naveen@...nel.org>, linuxppc-dev@...ts.ozlabs.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] powerpc/qspinlock: Fix deadlock in MCS queue
On Wed, Aug 28, 2024 at 01:52:33PM GMT, Michael Ellerman wrote:
> "Nysal Jan K.A." <nysal@...ux.ibm.com> writes:
> > If an interrupt occurs in queued_spin_lock_slowpath() after we increment
> > qnodesp->count and before node->lock is initialized, another CPU might
> > see stale lock values in get_tail_qnode(). If the stale lock value happens
> > to match the lock on that CPU, then we write to the "next" pointer of
> > the wrong qnode. This causes a deadlock as the former CPU, once it becomes
> > the head of the MCS queue, will spin indefinitely until it's "next" pointer
> > is set by its successor in the queue. This results in lockups similar to
> > the following.
> ...
> >
> > Thanks to Saket Kumar Bhaskar for help with recreating the issue
> >
> > Fixes: 84990b169557 ("powerpc/qspinlock: add mcs queueing for contended waiters")
> > Cc: stable@...r.kernel.org # v6.2+
> > Reported-by: Geetika Moolchandani <geetika@...ux.ibm.com>
> > Reported-by: Vaishnavi Bhat <vaish123@...ibm.com>
> > Reported-by: Jijo Varghese <vargjijo@...ibm.com>
>
> Do we have links for any of these reports?
They are all internal reports on LTC bugzilla. I don't see one that is public.
>
> cheers
Regards
--Nysal
Powered by blists - more mailing lists