[kvm-unit-tests PATCH v4 7/8] s390x: uv-host: Fence access checks when UV debug is enabled

Janosch Frank
2023-06-22T07:52:15Z

The debug print directly accesses the UV header which will result in a
second accesses exception which will abort the test. Let's fence the
access tests instead.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Nico Boehr <nrb@linux.ibm.com>
---
s390x/uv-host.c | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/s390x/uv-host.c b/s390x/uv-host.c
index 65a9c6d3..55b46446 100644
--- a/s390x/uv-host.c
+++ b/s390x/uv-host.c
@@ -164,6 +164,15 @@ static void test_access(void)

report_prefix_push("access");

+ /*
+ * If debug is enabled info from the uv header is printed
+ * which would lead to a second exception and a test abort.
+ */
+ if (UVC_ERR_DEBUG) {
+ report_skip("Debug doesn't work with access tests");
+ goto out;
+ }
+
report_prefix_push("non-crossing");
protect_page(uvcb, PAGE_ENTRY_I);
for (i = 0; cmds[i].name; i++) {
@@ -196,6 +205,7 @@ static void test_access(void)
uvcb += 1;
unprotect_page(uvcb, PAGE_ENTRY_I);

+out:
free_pages(pages);
report_prefix_pop();
}
--
2.34.1