arm: kill a guest which uses hvc with an immediate operand != XEN_HYPERCALL_TAG
authorIan Campbell <ian.campbell@citrix.com>
Tue, 9 Oct 2012 14:05:34 +0000 (15:05 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Tue, 9 Oct 2012 14:05:34 +0000 (15:05 +0100)
At best these guests are confused/broken and at worse they are malicious. In
any case we don't know that they are expecting to handle a -errno style error.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Committed-by: Ian Campbell <ian.campbell@citrix.com>
xen/arch/arm/traps.c

index e4bed69291b9eb1ee23c28c3656684459d01ce97..98cc750143ec6c37b8a003f0faea39ec54a206e4 100644 (file)
@@ -475,12 +475,7 @@ static void do_trap_hypercall(struct cpu_user_regs *regs, unsigned long iss)
 #endif
 
     if ( iss != XEN_HYPERCALL_TAG )
-    {
-        printk("%s %d: received an alien hypercall iss=%lx\n", __func__ ,
-                __LINE__ , iss);
-        regs->r0 = -EINVAL;
-        return;
-    }
+        domain_crash_synchronous();
 
     if ( regs->r12 >= ARRAY_SIZE(arm_hypercall_table) )
     {