From patchwork Fri Jul 13 08:27:28 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thomas Huth X-Patchwork-Id: 943330 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com 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 41RmD56Xmkz9s0n for ; Fri, 13 Jul 2018 18:28:36 +1000 (AEST) Received: from localhost ([::1]:35857 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fdtRJ-0002Ah-Hn for incoming@patchwork.ozlabs.org; Fri, 13 Jul 2018 04:28:33 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:40241) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fdtQg-00029A-BZ for qemu-devel@nongnu.org; Fri, 13 Jul 2018 04:27:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fdtQf-0004CM-55 for qemu-devel@nongnu.org; Fri, 13 Jul 2018 04:27:54 -0400 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:46336 helo=mx1.redhat.com) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fdtQa-00043J-Kn; Fri, 13 Jul 2018 04:27:48 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id C2223C12AA; Fri, 13 Jul 2018 08:27:47 +0000 (UTC) Received: from thh440s.redhat.com (ovpn-116-70.ams2.redhat.com [10.36.116.70]) by smtp.corp.redhat.com (Postfix) with ESMTP id 28D332026D6B; Fri, 13 Jul 2018 08:27:44 +0000 (UTC) From: Thomas Huth To: qemu-devel@nongnu.org, Peter Maydell , Paolo Bonzini Date: Fri, 13 Jul 2018 10:27:28 +0200 Message-Id: <1531470464-21522-1-git-send-email-thuth@redhat.com> X-Scanned-By: MIMEDefang 2.78 on 10.11.54.4 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Fri, 13 Jul 2018 08:27:47 +0000 (UTC) X-Greylist: inspected by milter-greylist-4.5.16 (mx1.redhat.com [10.11.55.1]); Fri, 13 Jul 2018 08:27:47 +0000 (UTC) for IP:'10.11.54.4' DOMAIN:'int-mx04.intmail.prod.int.rdu2.redhat.com' HELO:'smtp.corp.redhat.com' FROM:'thuth@redhat.com' RCPT:'' X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.187.233.73 Subject: [Qemu-devel] [PATCH v2 00/16] Fix crashes with introspection of ARM devices X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Eduardo Habkost , Alistair Francis , Markus Armbruster , Subbaraya Sundeep , Beniamino Galvani , qemu-arm@nongnu.org, "Edgar E. Iglesias" , =?utf-8?q?Andreas_F?= =?utf-8?b?w6RyYmVy?= Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" As discovered recently, you can crash QEMU with a lot of devices that do not get the reference counting of child objects right. You just have to run 'device-list-properties' and call 'info qtree' afterwards. This patch series fixes a bunch of these problems in the ARM code. I did not fix all problems yet, since it is quite time consuming, and this series is big enough already. The remaining problems can be fixed in an independent patch series later. v2: - Updated the first patch according to the review feedback from v1 - Added more patches with additional fixes Thomas Huth (16): qom/object: Add a new function object_initialize_child() hw/core/sysbus: Add a function for creating and attaching an object hw/arm/bcm2836: Fix crash with device_add bcm2837 on unsupported machines hw/arm/armv7: Fix crash when introspecting the "iotkit" device hw/cpu/a15mpcore: Fix introspection problem with the a15mpcore_priv device hw/display/xlnx_dp: Move problematic code from instance_init to realize hw/arm/xlnx-zynqmp: Fix crash when introspecting the "xlnx,zynqmp" device hw/arm/msf2-soc: Fix introspection problem with the "msf2-soc" device hw/cpu/a9mpcore: Fix introspection problems with the "a9mpcore_priv" device hw/arm/fsl-imx6: Fix introspection problems with the "fsl,imx6" device hw/arm/fsl-imx7: Fix introspection problems with the "fsl,imx7" device hw/arm/fsl-imx25: Fix introspection problem with the "fsl,imx25" device hw/arm/fsl-imx31: Fix introspection problem with the "fsl,imx31" device hw/cpu/arm11mpcore: Fix introspection problem with 'arm11mpcore_priv' hw/*/realview: Fix introspection problem with 'realview_mpcore' & 'realview_gic' hw/arm/allwinner-a10: Fix introspection problem with 'allwinner-a10' hw/arm/allwinner-a10.c | 19 +++++----- hw/arm/armv7m.c | 7 ++-- hw/arm/bcm2836.c | 18 +++------ hw/arm/fsl-imx25.c | 30 +++++++-------- hw/arm/fsl-imx31.c | 26 ++++++------- hw/arm/fsl-imx6.c | 56 ++++++++++------------------ hw/arm/fsl-imx7.c | 96 ++++++++++++++++-------------------------------- hw/arm/iotkit.c | 74 ++++++++++++++++--------------------- hw/arm/msf2-soc.c | 15 ++++---- hw/arm/xlnx-zynqmp.c | 61 ++++++++++++++---------------- hw/core/sysbus.c | 8 ++++ hw/cpu/a15mpcore.c | 8 ++-- hw/cpu/a9mpcore.c | 18 ++++----- hw/cpu/arm11mpcore.c | 14 +++---- hw/cpu/realview_mpcore.c | 8 ++-- hw/display/xlnx_dp.c | 23 +++++------- hw/intc/armv7m_nvic.c | 5 +-- hw/intc/realview_gic.c | 7 +--- include/hw/sysbus.h | 3 ++ include/qom/object.h | 23 +++++++++++- qom/object.c | 15 ++++++++ 21 files changed, 244 insertions(+), 290 deletions(-) Reviewed-by: Richard Henderson Reviewed-by: Eduardo Habkost