[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] [xen-unstable] arm: add bounds check on hypercall array


  • To: xen-changelog@xxxxxxxxxxxxxxxxxxx
  • From: Xen patchbot-unstable <patchbot@xxxxxxx>
  • Date: Thu, 26 Jul 2012 20:55:12 +0000
  • Delivery-date: Thu, 26 Jul 2012 20:55:19 +0000
  • List-id: "Change log for Mercurial \(receive only\)" <xen-changelog.lists.xen.org>

# HG changeset patch
# User Ian Campbell <ian.campbell@xxxxxxxxxx>
# Date 1343234361 -3600
# Node ID a1ee7eccd83e533785aa35caa49833a1277807d3
# Parent  7118869c9cbee6d8bd850aa58ebec00e6486fb16
arm: add bounds check on hypercall array

Otherwise a guest can cause us to run off the end of the array.

Signed-off-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Acked-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
[ ijc -- switched to >= not > ]
Committed-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
---


diff -r 7118869c9cbe -r a1ee7eccd83e xen/arch/arm/traps.c
--- a/xen/arch/arm/traps.c      Wed Jul 25 17:39:20 2012 +0100
+++ b/xen/arch/arm/traps.c      Wed Jul 25 17:39:21 2012 +0100
@@ -479,6 +479,12 @@ static void do_trap_hypercall(struct cpu
         return;
     }
 
+    if ( regs->r12 >= ARRAY_SIZE(arm_hypercall_table) )
+    {
+        regs->r0 = -ENOSYS;
+        return;
+    }
+
     call = arm_hypercall_table[regs->r12].fn;
     if ( call == NULL )
     {

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.