Re: [PATCH for stable] x86/spinlocks/paravirt: Fix memory corruption on unlock
From: Ingo Molnar <mingo@kernel.org>
Date: 2015-02-25 10:29:40
Also in:
kvm, lkml, virtualization
From: Ingo Molnar <mingo@kernel.org>
Date: 2015-02-25 10:29:40
Also in:
kvm, lkml, virtualization
* Christian Borntraeger [off-list ref] wrote:
quoted
By all means! You'll first need to cherry-pick these commits:quoted
927609d622a3 kernel: tighten rules for ACCESS ONCE c5b19946eb76 kernel: Fix sparse warning for ACCESS_ONCE dd36929720f4 kernel: make READ_ONCE() valid on const argumentsIf 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.
quoted
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 unlockthe 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