[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/4] target/ppc: Ensure stcx size matches larx
From: |
Nicholas Piggin |
Subject: |
Re: [PATCH 2/4] target/ppc: Ensure stcx size matches larx |
Date: |
Mon, 05 Jun 2023 16:27:37 +1000 |
On Sun Jun 4, 2023 at 8:28 PM AEST, Nicholas Piggin wrote:
> Differently-sized larx/stcx. pairs can succeed if the starting address
> matches. Add a size check to require stcx. exactly match the larx that
> established the reservation.
Hmm, question: reserve_addr is a VMSTATE field, but reserve_val is not
(nor reserve_size after this patch).
Blue Swirl added that with commit a456d59c20f ("VM load/save support for
PPC CPU"), and when reserve_val was added in commit 18b21a2f83a
("target-ppc: retain l{w,d}arx loaded value") it did not get migrated.
Could we end up with reserve_addr != -1, but with a bogus reserve_val,
which could then permit a stcx. incorrectly? Not entirely outlandish if
reserve_val starts out initialised to zero.
Could we just clear the reserve in cpu_post_load? It is permitted to be
lost for an implementation-specific reason. Doesn't seem necessary to
try keep it alive over a migration.
Thanks,
Nick
- [PATCH 1/4] target/ppc: Fix lqarx to set cpu_reserve, Nicholas Piggin, 2023/06/04
- [PATCH 2/4] target/ppc: Ensure stcx size matches larx, Nicholas Piggin, 2023/06/04
- Re: [PATCH 2/4] target/ppc: Ensure stcx size matches larx, Richard Henderson, 2023/06/04
- Re: [PATCH 2/4] target/ppc: Ensure stcx size matches larx,
Nicholas Piggin <=
- Re: [PATCH 2/4] target/ppc: Ensure stcx size matches larx, Richard Henderson, 2023/06/19
- Re: [PATCH 2/4] target/ppc: Ensure stcx size matches larx, Peter Maydell, 2023/06/19
- Re: [PATCH 2/4] target/ppc: Ensure stcx size matches larx, Richard Henderson, 2023/06/19
- Re: [PATCH 2/4] target/ppc: Ensure stcx size matches larx, Peter Maydell, 2023/06/19
- Re: [PATCH 2/4] target/ppc: Ensure stcx size matches larx, Nicholas Piggin, 2023/06/19
[PATCH 3/4] target/ppc: Remove larx/stcx. memory barrier semantics, Nicholas Piggin, 2023/06/04
[PATCH 4/4] target/ppc: Rework store conditional to avoid branch, Nicholas Piggin, 2023/06/04
Re: [PATCH 1/4] target/ppc: Fix lqarx to set cpu_reserve, Richard Henderson, 2023/06/04