Re: [PATCH for stable] x86/spinlocks/paravirt: Fix memory corruption on unlock

From: Ingo Molnar
Date: Wed Feb 25 2015 - 05:29:43 EST



* Christian Borntraeger <borntraeger@xxxxxxxxxx> wrote:

> > By all means!
> >
> > You'll first need to cherry-pick these commits:
>
> > 927609d622a3 kernel: tighten rules for ACCESS ONCE
> > c5b19946eb76 kernel: Fix sparse warning for ACCESS_ONCE
> > dd36929720f4 kernel: make READ_ONCE() valid on const arguments
>
> If you go before 3.19, you will also need
>
> 230fa253df63 kernel: Provide READ_ONCE and ASSIGN_ONCE
> 43239cbe79fc kernel: Change ASSIGN_ONCE(val, x) to WRITE_ONCE(x, val)

The affected spinlock code went over several iterations
post v3.18, which I think makes the spinlock change too
risky and complex to backport so far back. So it's not
necessay to backport these READ_ONCE() changes.

> > That's the minimum set you will need for backporting,
> > due to overlapping changes to the ACCESS_ONCE()
> > definition.
> >
> > and then apply this commit:
> >
> > d6abfdb20223 x86/spinlocks/paravirt: Fix memory corruption on unlock
>
> the alternative might be to replace READ_ONCE with
> ACCESS_ONCE when doing the backport.

Doing changes to patches when doing a backport is a big
no-no IMHO. Either there is a clean sequence of upstream
commit IDs to cherry-pick, or it should not be backported
in most cases.

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/