On Fri, 3 Jul 2020 12:06:49 +0200 Cornelia Huck <coh...@redhat.com> wrote:
> From: Halil Pasic <pa...@linux.ibm.com> > > The atomic_cmpxchg() loop is broken because we occasionally end up with > old and _old having different values (a legit compiler can generate code > that accessed *ind_addr again to pick up a value for _old instead of > using the value of old that was already fetched according to the > rules of the abstract machine). This means the underlying CS instruction > may use a different old (_old) than the one we intended to use if > atomic_cmpxchg() performed the xchg part. > [..] I believe this fix should be considered for stable. Unfortunately we didn't think about it back then. Regards, Halil