Kernel KVM virtualization development
 help / color / mirror / Atom feed
* [kvm-unit-tests PATCH] x86/apic: Skip pv ipi test if hcall not available
@ 2019-10-17 23:50 Suraj Jitindar Singh
  2019-10-18 16:53 ` Vitaly Kuznetsov
  0 siblings, 1 reply; 5+ messages in thread
From: Suraj Jitindar Singh @ 2019-10-17 23:50 UTC (permalink / raw)
  To: kvm; +Cc: surajjs, wanpengli, rkrcmar, Suraj Jitindar Singh

From: Suraj Jitindar Singh <surajjs@amazon.com>

The test in x86/apic.c named test_pv_ipi is used to test for a kernel
bug where a guest making the hcall KVM_HC_SEND_IPI can trigger an out of
bounds access.

If the host doesn't implement this hcall then the out of bounds access
cannot be triggered.

Detect the case where the host doesn't implement the KVM_HC_SEND_IPI
hcall and skip the test when this is the case, as the test doesn't
apply.

Output without patch:
FAIL: PV IPIs testing

With patch:
SKIP: PV IPIs testing: h-call not available

Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com>
---
 x86/apic.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/x86/apic.c b/x86/apic.c
index eb785c4..bd44b54 100644
--- a/x86/apic.c
+++ b/x86/apic.c
@@ -8,6 +8,8 @@
 #include "atomic.h"
 #include "fwcfg.h"
 
+#include <linux/kvm_para.h>
+
 #define MAX_TPR			0xf
 
 static void test_lapic_existence(void)
@@ -638,6 +640,15 @@ static void test_pv_ipi(void)
     unsigned long a0 = 0xFFFFFFFF, a1 = 0, a2 = 0xFFFFFFFF, a3 = 0x0;
 
     asm volatile("vmcall" : "=a"(ret) :"a"(KVM_HC_SEND_IPI), "b"(a0), "c"(a1), "d"(a2), "S"(a3));
+    /*
+     * Detect the case where the hcall is not implemented by the hypervisor and
+     * skip this test if this is the case. Is the hcall isn't implemented then
+     * the bug that this test is trying to catch can't be triggered.
+     */
+    if (ret == -KVM_ENOSYS) {
+	    report_skip("PV IPIs testing: h-call not available");
+	    return;
+    }
     report("PV IPIs testing", !ret);
 }
 
-- 
2.15.3.AMZN


^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2019-10-22  8:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-17 23:50 [kvm-unit-tests PATCH] x86/apic: Skip pv ipi test if hcall not available Suraj Jitindar Singh
2019-10-18 16:53 ` Vitaly Kuznetsov
2019-10-21 22:50   ` Suraj Jitindar Singh
2019-10-22  8:46     ` Vitaly Kuznetsov
2019-10-22  8:53     ` Wanpeng Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox