xen/xen_initial_domain: check that xen_start_info is initialized
authorStefano Stabellini <Stefano.Stabellini@eu.citrix.com>
Wed, 3 Oct 2012 17:08:52 +0000 (18:08 +0100)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Wed, 3 Oct 2012 17:03:32 +0000 (13:03 -0400)
Since commit commit 4c071ee5268f7234c3d084b6093bebccc28cdcba ("arm:
initial Xen support") PV on HVM guests can be xen_initial_domain.
However PV on HVM guests might have an unitialized xen_start_info, so
check before accessing its fields.

Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Acked-by: Ian Campbell <Ian.Campbell@citrix.com>
Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
include/xen/xen.h

index 2c0d3a56c749c6145e07ef6537355bebd45a4c89..a74d4362c4f84aca7a7218162a6cdba7df385fff 100644 (file)
@@ -24,7 +24,7 @@ extern enum xen_domain_type xen_domain_type;
 #include <asm/xen/hypervisor.h>
 
 #define xen_initial_domain()   (xen_domain() && \
-                                xen_start_info->flags & SIF_INITDOMAIN)
+                                xen_start_info && xen_start_info->flags & SIF_INITDOMAIN)
 #else  /* !CONFIG_XEN_DOM0 */
 #define xen_initial_domain()   (0)
 #endif /* CONFIG_XEN_DOM0 */