Re: [PATCH 2/2] vhost: re-introducing metadata acceleration through kernel virtual address

From: Jason Wang
Date: Mon Sep 09 2019 - 03:24:09 EST



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