On 2019/9/9 下午12:45, Michael S. Tsirkin wrote:
Since idx can be speculated, I guess we need array_index_nospec here?
So we have

ACQUIRE(mmu_lock)

get idx

RELEASE(mmu_lock)

ACQUIRE(mmu_lock)

read array[idx]

RELEASE(mmu_lock)

Then I think idx can't be speculated consider we've passed RELEASE +
ACQUIRE?
I don't think memory barriers have anything to do with speculation,
they are architectural.


Oh right. Let me add array_index_nospec() in next version.

Thanks

Reply via email to