From: Julien Grall Date: Fri, 10 May 2013 02:17:48 +0000 (+0100) Subject: xen/arm: Don't allow dom0 to access to vpl011 UART0 memory range X-Git-Tag: 4.3.0-rc2~58 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=0232cd2443b6bd3c7d3702ece51109207dd6bd1d;p=people%2Fiwj%2Fxen.git xen/arm: Don't allow dom0 to access to vpl011 UART0 memory range As vpl011 UART is not initialized for dom 0, when the domain tries to access to this range, a segfault will occur in Xen. The right behaviour should be a data abort for the guest. Signed-off-by: Julien Grall Acked-by: Ian Campbell --- diff --git a/xen/arch/arm/vpl011.c b/xen/arch/arm/vpl011.c index 9472d0a408..13ba623859 100644 --- a/xen/arch/arm/vpl011.c +++ b/xen/arch/arm/vpl011.c @@ -85,7 +85,9 @@ static void uart0_print_char(char c) static int uart0_mmio_check(struct vcpu *v, paddr_t addr) { - return addr >= UART0_START && addr < UART0_END; + struct domain *d = v->domain; + + return d->domain_id != 0 && addr >= UART0_START && addr < UART0_END; } static int uart0_mmio_read(struct vcpu *v, mmio_info_t *info)