From nobody Mon Feb 9 11:51:43 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1593705257; cv=none; d=zohomail.com; s=zohoarc; b=L1KRpcQ/klxYnLoBEzKTr9LFoSWRS4IQX+Qy0/PKFxaqAmpmav0In6q8bUQE3qh4wZIhqXISW/KaPzAypVtYbsWiBkeoVBRoP674CpbsrVEwADav+S1KehCJ/YPJupQjkYVL9jnP6uRF0Qm0bziPDrkLlpe++p7CXTNFJHKEM/w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593705257; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=rw3yNJWBn05yB0si1K+SDkEyE+XrEHA4eZaBVR5XhcE=; b=YHjpvBVQYrYzmTwPq6sGLSO5egbxO5Xctqx6XuGhcoQVRqCLi5P+MSmIeSaPgy+rzRq3QRx9+kF9nwZnCL4xvI1imcIHctwmlnZVSpgKOjEYie7OwahV+BppppPPf6BQcERuThluFCSmXrQnWFCDhusPEosaGyluHMO7eg2TmO8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 159370525700898.10302857392878; Thu, 2 Jul 2020 08:54:17 -0700 (PDT) Received: from localhost ([::1]:45714 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jr1XT-0006RD-Ak for importer@patchew.org; Thu, 02 Jul 2020 11:54:15 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:49892) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jr1Tj-0008NB-NR for qemu-devel@nongnu.org; Thu, 02 Jul 2020 11:50:23 -0400 Received: from us-smtp-delivery-1.mimecast.com ([207.211.31.120]:60916 helo=us-smtp-1.mimecast.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.90_1) (envelope-from ) id 1jr1TY-0004pv-1B for qemu-devel@nongnu.org; Thu, 02 Jul 2020 11:50:23 -0400 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-381-vK_Or7MhO9qw03g8hy3Mxg-1; Thu, 02 Jul 2020 11:50:08 -0400 Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id D3F01804004; Thu, 2 Jul 2020 15:50:06 +0000 (UTC) Received: from blackfin.pond.sub.org (ovpn-112-143.ams2.redhat.com [10.36.112.143]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 77B3B2B4CE; Thu, 2 Jul 2020 15:50:06 +0000 (UTC) Received: by blackfin.pond.sub.org (Postfix, from userid 1000) id E97A01135223; Thu, 2 Jul 2020 17:50:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1593705009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rw3yNJWBn05yB0si1K+SDkEyE+XrEHA4eZaBVR5XhcE=; b=B4SWOi+ni7+Aw/+dyozR+7Ib4A1DVsFojtvp5qrazn4wOBcrvliYFxsN3+CwXo1npf2Dwb 7ck38S1LJ6kzSeogn0V2JF/YB5S7E1BPWAsDQVd/EHWvqUYALQ3Bhiif/D1EH0GYbKd4eY fDqXA2+KzQmxlS8O1/OhRFPBtN6UlgE= X-MC-Unique: vK_Or7MhO9qw03g8hy3Mxg-1 From: Markus Armbruster To: qemu-devel@nongnu.org Subject: [PATCH v2 24/44] qom: Don't handle impossible object_property_get_link() failure Date: Thu, 2 Jul 2020 17:49:40 +0200 Message-Id: <20200702155000.3455325-25-armbru@redhat.com> In-Reply-To: <20200702155000.3455325-1-armbru@redhat.com> References: <20200702155000.3455325-1-armbru@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=armbru@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=207.211.31.120; envelope-from=armbru@redhat.com; helo=us-smtp-1.mimecast.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/02 03:23:40 X-ACL-Warn: Detected OS = Linux 2.2.x-3.x [generic] [fuzzy] X-Spam_score_int: -30 X-Spam_score: -3.1 X-Spam_bar: --- X-Spam_report: (-3.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-1, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: peter.maydell@linaro.org, vsementsov@virtuozzo.com, berrange@redhat.com, ehabkost@redhat.com, qemu-block@nongnu.org, =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Don't handle object_property_get_link() failure that can't happen unless the programmer screwed up, pass &error_abort. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- hw/arm/bcm2835_peripherals.c | 7 +------ hw/arm/bcm2836.c | 7 +------ hw/display/bcm2835_fb.c | 8 +------- hw/dma/bcm2835_dma.c | 9 +-------- hw/gpio/bcm2835_gpio.c | 15 ++------------- hw/intc/nios2_iic.c | 8 +------- hw/misc/bcm2835_mbox.c | 9 +-------- hw/misc/bcm2835_property.c | 17 ++--------------- hw/usb/hcd-dwc2.c | 9 +-------- 9 files changed, 11 insertions(+), 78 deletions(-) diff --git a/hw/arm/bcm2835_peripherals.c b/hw/arm/bcm2835_peripherals.c index 2df81168e4..beade39e41 100644 --- a/hw/arm/bcm2835_peripherals.c +++ b/hw/arm/bcm2835_peripherals.c @@ -134,12 +134,7 @@ static void bcm2835_peripherals_realize(DeviceState *d= ev, Error **errp) uint64_t ram_size, vcram_size; int n; =20 - obj =3D object_property_get_link(OBJECT(dev), "ram", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required ram link not found: %s", - __func__, error_get_pretty(err)); - return; - } + obj =3D object_property_get_link(OBJECT(dev), "ram", &error_abort); =20 ram =3D MEMORY_REGION(obj); ram_size =3D memory_region_size(ram); diff --git a/hw/arm/bcm2836.c b/hw/arm/bcm2836.c index 1a7560ef30..70ca2f0d9a 100644 --- a/hw/arm/bcm2836.c +++ b/hw/arm/bcm2836.c @@ -77,12 +77,7 @@ static void bcm2836_realize(DeviceState *dev, Error **er= rp) =20 /* common peripherals from bcm2835 */ =20 - obj =3D object_property_get_link(OBJECT(dev), "ram", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required ram link not found: %s", - __func__, error_get_pretty(err)); - return; - } + obj =3D object_property_get_link(OBJECT(dev), "ram", &error_abort); =20 object_property_add_const_link(OBJECT(&s->peripherals), "ram", obj); =20 diff --git a/hw/display/bcm2835_fb.c b/hw/display/bcm2835_fb.c index c6263808a2..c4bfed2740 100644 --- a/hw/display/bcm2835_fb.c +++ b/hw/display/bcm2835_fb.c @@ -401,7 +401,6 @@ static void bcm2835_fb_reset(DeviceState *dev) static void bcm2835_fb_realize(DeviceState *dev, Error **errp) { BCM2835FBState *s =3D BCM2835_FB(dev); - Error *err =3D NULL; Object *obj; =20 if (s->vcram_base =3D=3D 0) { @@ -409,12 +408,7 @@ static void bcm2835_fb_realize(DeviceState *dev, Error= **errp) return; } =20 - obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required dma-mr link not found: %s", - __func__, error_get_pretty(err)); - return; - } + obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &error_abort); =20 /* Fill in the parts of initial_config that are not set by QOM propert= ies */ s->initial_config.xres_virtual =3D s->initial_config.xres; diff --git a/hw/dma/bcm2835_dma.c b/hw/dma/bcm2835_dma.c index 4cd9dab745..eb0002a2b9 100644 --- a/hw/dma/bcm2835_dma.c +++ b/hw/dma/bcm2835_dma.c @@ -376,16 +376,9 @@ static void bcm2835_dma_reset(DeviceState *dev) static void bcm2835_dma_realize(DeviceState *dev, Error **errp) { BCM2835DMAState *s =3D BCM2835_DMA(dev); - Error *err =3D NULL; Object *obj; =20 - obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required dma-mr link not found: %s", - __func__, error_get_pretty(err)); - return; - } - + obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &error_abort); s->dma_mr =3D MEMORY_REGION(obj); address_space_init(&s->dma_as, s->dma_mr, TYPE_BCM2835_DMA "-memory"); =20 diff --git a/hw/gpio/bcm2835_gpio.c b/hw/gpio/bcm2835_gpio.c index 91ce3d10cc..abdddbc67c 100644 --- a/hw/gpio/bcm2835_gpio.c +++ b/hw/gpio/bcm2835_gpio.c @@ -312,22 +312,11 @@ static void bcm2835_gpio_realize(DeviceState *dev, Er= ror **errp) { BCM2835GpioState *s =3D BCM2835_GPIO(dev); Object *obj; - Error *err =3D NULL; =20 - obj =3D object_property_get_link(OBJECT(dev), "sdbus-sdhci", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required sdhci link not found: %s", - __func__, error_get_pretty(err)); - return; - } + obj =3D object_property_get_link(OBJECT(dev), "sdbus-sdhci", &error_ab= ort); s->sdbus_sdhci =3D SD_BUS(obj); =20 - obj =3D object_property_get_link(OBJECT(dev), "sdbus-sdhost", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required sdhost link not found: %s", - __func__, error_get_pretty(err)); - return; - } + obj =3D object_property_get_link(OBJECT(dev), "sdbus-sdhost", &error_a= bort); s->sdbus_sdhost =3D SD_BUS(obj); } =20 diff --git a/hw/intc/nios2_iic.c b/hw/intc/nios2_iic.c index 3a5d86c2a4..1a5df8c89a 100644 --- a/hw/intc/nios2_iic.c +++ b/hw/intc/nios2_iic.c @@ -66,14 +66,8 @@ static void altera_iic_init(Object *obj) static void altera_iic_realize(DeviceState *dev, Error **errp) { struct AlteraIIC *pv =3D ALTERA_IIC(dev); - Error *err =3D NULL; =20 - pv->cpu =3D object_property_get_link(OBJECT(dev), "cpu", &err); - if (!pv->cpu) { - error_setg(errp, "altera,iic: CPU link not found: %s", - error_get_pretty(err)); - return; - } + pv->cpu =3D object_property_get_link(OBJECT(dev), "cpu", &error_abort); } =20 static void altera_iic_class_init(ObjectClass *klass, void *data) diff --git a/hw/misc/bcm2835_mbox.c b/hw/misc/bcm2835_mbox.c index 2afa06a746..9f73cbd5e4 100644 --- a/hw/misc/bcm2835_mbox.c +++ b/hw/misc/bcm2835_mbox.c @@ -308,15 +308,8 @@ static void bcm2835_mbox_realize(DeviceState *dev, Err= or **errp) { BCM2835MboxState *s =3D BCM2835_MBOX(dev); Object *obj; - Error *err =3D NULL; - - obj =3D object_property_get_link(OBJECT(dev), "mbox-mr", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required mbox-mr link not found: %s", - __func__, error_get_pretty(err)); - return; - } =20 + obj =3D object_property_get_link(OBJECT(dev), "mbox-mr", &error_abort); s->mbox_mr =3D MEMORY_REGION(obj); address_space_init(&s->mbox_as, s->mbox_mr, TYPE_BCM2835_MBOX "-memory= "); bcm2835_mbox_reset(dev); diff --git a/hw/misc/bcm2835_property.c b/hw/misc/bcm2835_property.c index 3e228ca0ae..73941bdae9 100644 --- a/hw/misc/bcm2835_property.c +++ b/hw/misc/bcm2835_property.c @@ -392,24 +392,11 @@ static void bcm2835_property_realize(DeviceState *dev= , Error **errp) { BCM2835PropertyState *s =3D BCM2835_PROPERTY(dev); Object *obj; - Error *err =3D NULL; - - obj =3D object_property_get_link(OBJECT(dev), "fb", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required fb link not found: %s", - __func__, error_get_pretty(err)); - return; - } =20 + obj =3D object_property_get_link(OBJECT(dev), "fb", &error_abort); s->fbdev =3D BCM2835_FB(obj); =20 - obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &err); - if (obj =3D=3D NULL) { - error_setg(errp, "%s: required dma-mr link not found: %s", - __func__, error_get_pretty(err)); - return; - } - + obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &error_abort); s->dma_mr =3D MEMORY_REGION(obj); address_space_init(&s->dma_as, s->dma_mr, TYPE_BCM2835_PROPERTY "-memo= ry"); =20 diff --git a/hw/usb/hcd-dwc2.c b/hw/usb/hcd-dwc2.c index 72cbd051f3..56f91f6bee 100644 --- a/hw/usb/hcd-dwc2.c +++ b/hw/usb/hcd-dwc2.c @@ -1274,15 +1274,8 @@ static void dwc2_realize(DeviceState *dev, Error **e= rrp) SysBusDevice *sbd =3D SYS_BUS_DEVICE(dev); DWC2State *s =3D DWC2_USB(dev); Object *obj; - Error *err =3D NULL; =20 - obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &err); - if (err) { - error_setg(errp, "dwc2: required dma-mr link not found: %s", - error_get_pretty(err)); - return; - } - assert(obj !=3D NULL); + obj =3D object_property_get_link(OBJECT(dev), "dma-mr", &error_abort); =20 s->dma_mr =3D MEMORY_REGION(obj); address_space_init(&s->dma_as, s->dma_mr, "dwc2"); --=20 2.26.2