From patchwork Mon Oct 19 10:23:44 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefano Stabellini X-Patchwork-Id: 532216 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id CCD9314012C for ; Mon, 19 Oct 2015 21:27:36 +1100 (AEDT) Received: from localhost ([::1]:38076 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zo7fC-00010g-Mt for incoming@patchwork.ozlabs.org; Mon, 19 Oct 2015 06:27:34 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54890) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zo7e4-0007dp-T9 for qemu-devel@nongnu.org; Mon, 19 Oct 2015 06:26:25 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Zo7e0-0001a6-4S for qemu-devel@nongnu.org; Mon, 19 Oct 2015 06:26:24 -0400 Received: from smtp.citrix.com ([66.165.176.89]:19774) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Zo7e0-0001Zt-14 for qemu-devel@nongnu.org; Mon, 19 Oct 2015 06:26:20 -0400 X-IronPort-AV: E=Sophos;i="5.17,701,1437436800"; d="scan'208";a="307342703" From: Stefano Stabellini To: Date: Mon, 19 Oct 2015 11:23:44 +0100 Message-ID: <1445250224-5788-2-git-send-email-stefano.stabellini@eu.citrix.com> X-Mailer: git-send-email 1.7.9.5 In-Reply-To: References: MIME-Version: 1.0 X-DLP: MIA2 X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 66.165.176.89 Cc: qemu-devel@nongnu.org, Eduardo Habkost , Stefano Stabellini Subject: [Qemu-devel] [PULL 2/2] xen-platform: Ensure xen is enabled when initializing X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: Eduardo Habkost The xen-platform code crashes on reset if the xen backend is not initialized, because it calls xc_hvm_set_mem_type(). Ensure xen-platform won't be created without initializing the xen backend. The assert can't be triggered by the user because the device is not hotpluggable, and the only code creating it (at pc_xen_hvm_init()) already checks xen_enabled(). Signed-off-by: Eduardo Habkost Reviewed-by: Stefano Stabellini Signed-off-by: Stefano Stabellini --- hw/i386/xen/xen_platform.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/hw/i386/xen/xen_platform.c b/hw/i386/xen/xen_platform.c index ee45f03..8682c42 100644 --- a/hw/i386/xen/xen_platform.c +++ b/hw/i386/xen/xen_platform.c @@ -387,6 +387,9 @@ static int xen_platform_initfn(PCIDevice *dev) PCIXenPlatformState *d = XEN_PLATFORM(dev); uint8_t *pci_conf; + /* Device will crash on reset if xen is not initialized */ + assert(xen_enabled()); + pci_conf = dev->config; pci_set_word(pci_conf + PCI_COMMAND, PCI_COMMAND_IO | PCI_COMMAND_MEMORY);