]> git.baikalelectronics.ru Git - kernel.git/commit
selftests: KVM: Handle compiler optimizations in ucall
authorRaghavendra Rao Ananta <rananta@google.com>
Wed, 15 Jun 2022 18:57:06 +0000 (18:57 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 11 Aug 2022 10:57:52 +0000 (12:57 +0200)
commit7441a546e7db72da199986a9f2fad897b6a88dd5
tree6e907bb78d5db87e6c4395df69b1bf095131f12d
parente1d0fe73829757c0089942420e8aeb31075c2849
selftests: KVM: Handle compiler optimizations in ucall

[ Upstream commit 0fb4a561cc9f45903aa6ff7c42075114062217d0 ]

The selftests, when built with newer versions of clang, is found
to have over optimized guests' ucall() function, and eliminating
the stores for uc.cmd (perhaps due to no immediate readers). This
resulted in the userspace side always reading a value of '0', and
causing multiple test failures.

As a result, prevent the compiler from optimizing the stores in
ucall() with WRITE_ONCE().

Suggested-by: Ricardo Koller <ricarkol@google.com>
Suggested-by: Reiji Watanabe <reijiw@google.com>
Signed-off-by: Raghavendra Rao Ananta <rananta@google.com>
Message-Id: <20220615185706.1099208-1-rananta@google.com>
Reviewed-by: Andrew Jones <drjones@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/selftests/kvm/lib/aarch64/ucall.c