From f2ae8bfa498831ee6343d672066b898d3cd73892 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Tue, 12 Aug 2014 15:38:01 +0200 Subject: [PATCH] xen: arm: Correctly handle do_sysreg exception injection from 64-bit userspace The do_sysreg case was missing a return, so it would increment PC and inject the trap to the second instruction of the handler. This is CVE-2014-5148 / XSA-103. Signed-off-by: Ian Campbell Signed-off-by: Ian Jackson Acked-by: Julien Grall --- xen/arch/arm/traps.c | 1 + 1 file changed, 1 insertion(+) diff --git a/xen/arch/arm/traps.c b/xen/arch/arm/traps.c index ae594caea7..683b4400f9 100644 --- a/xen/arch/arm/traps.c +++ b/xen/arch/arm/traps.c @@ -1704,6 +1704,7 @@ static void do_sysreg(struct cpu_user_regs *regs, hsr.bits & HSR_SYSREG_REGS_MASK); #endif inject_undef_exception(regs, sysreg.len); + return; } } -- 2.30.2