From nobody Mon May 13 05:10:06 2024 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 ARC-Seal: i=1; a=rsa-sha256; t=1595872334; cv=none; d=zohomail.com; s=zohoarc; b=JfX/IDXie4dG+88J+FJvD72GztUGrYiyvZ49GQeGlvdPg0bKolsrBDzZI04vB8p9LAZSHVls7VdKMSCZMbSIX3gJNmntATdhDCChxqL5ssnOtidBxjLSO4mnuuMxmSgUTLlGtmuY+xEZY/7EbGA4yLUJyG8SAmQzYeOu1jPEm2A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1595872334; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=gDx7vRp/dC5Z+gEH9ieQ1MOATOcdTERt+j/Nr4IggWM=; b=XT24/Sfva4MW+NPEfFvXzbbDxFkoJ7DpiLUYxacoZl+rGKK0ThtoxN/faPoT8Ie8ngcDbZaf0L2cR7eJfXUy8BtdgtIrkDxbzVuHqwl5Nb63/MU7BOfCdM8IKLcK+MBN/NZN1ShpH8xKsM9oIJqk7SnWpzyJ7SwNpBD2K6Fuddo= 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 Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1595872334903311.5122299257821; Mon, 27 Jul 2020 10:52:14 -0700 (PDT) Received: from localhost ([::1]:60350 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k07IL-0006sm-Co for importer@patchew.org; Mon, 27 Jul 2020 13:52:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:53248) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k07HS-000683-Bb for qemu-devel@nongnu.org; Mon, 27 Jul 2020 13:51:18 -0400 Received: from mail-ej1-x643.google.com ([2a00:1450:4864:20::643]:46907) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k07HQ-0006nE-SL for qemu-devel@nongnu.org; Mon, 27 Jul 2020 13:51:18 -0400 Received: by mail-ej1-x643.google.com with SMTP id l4so17891168ejd.13 for ; Mon, 27 Jul 2020 10:51:16 -0700 (PDT) Received: from x1w.redhat.com (214.red-88-21-68.staticip.rima-tde.net. [88.21.68.214]) by smtp.gmail.com with ESMTPSA id w3sm7877927edq.65.2020.07.27.10.51.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Jul 2020 10:51:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=gDx7vRp/dC5Z+gEH9ieQ1MOATOcdTERt+j/Nr4IggWM=; b=FHuE0QPu7Zk0wyiEDY6BU4qIiW3D3bhym7uXTqXYCwlc37iejEBOWuinYgeSokW0yx xDQce9w260gp4izvEo0KB7sKvuGXK06iYQAi4W4G4vBfILSViKn1bPjxqcEKF4TBR2Ff +ffj8ZrbTZS2ePMB3v/HmsFbrpXL4AQ7bZpjqAZf1fcMoHfTefvgJ3Lze+iAYVmBqzbp z+t1UsMQhe1OSXak+aIq9kKXnW9ZNoe7j2phMxG4KDgOq40NIsWteTaDzb6XIMVF7Zk4 fhNSM+wnI4C6tteSvJUySS+6yiS3+/xnSnswdqrwOuvU7zzPSbEgnYsMtY9KbuSgXeoE 64Ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; bh=gDx7vRp/dC5Z+gEH9ieQ1MOATOcdTERt+j/Nr4IggWM=; b=eccnQuSkc1yzKwu7jZZFjcn7VO8gSMxEpfnMAaIbvAq9qhY+KPDKt4Y42XLQrMOjwX DjerGdEMzw1M0J5+Stse14KPy1aemc/uQfzI+Lr1uq66aFrKvcGlYFhayvRc78erWr/D GMEsBT3hwFJBV27YP120eqIwPDUVEgLCenX2pVWoi1B2Kg17Irp+1IRnSKg1Q6Z0Pmjp /jcR229wxKqyOvYwuLJSQBsr1nQwkDZVQJoMPHLzJSymAT6RfrRK5PDwUznOLA98lLTF KFn+kCLa1iLpefztb0MrI8eIuUvtRi9SnZnjm0WkplWhWJLppPJJhgnZdmDJHy3g6gT4 3G9w== X-Gm-Message-State: AOAM5318sIKGDUnP7OJbD+ylNk4Qh8nmJmruFe1+yyf7Biyc6zltcG6T B1JffQqoCqAFDCT00GjYFdPfcmkK X-Google-Smtp-Source: ABdhPJwDZZTiGPKp6Dk9uVIdQqvDgVWPk2j0Qn1Q0M1nSkJ5KeQagiMEc5x1KroOrIQ9OyLbAL0qYw== X-Received: by 2002:a17:906:85d6:: with SMTP id i22mr4045364ejy.194.1595872275056; Mon, 27 Jul 2020 10:51:15 -0700 (PDT) From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Subject: [PATCH-for-5.2 v4] hw/core/qdev: Increase qdev_realize() kindness Date: Mon, 27 Jul 2020 19:51:12 +0200 Message-Id: <20200727175112.6820-1-f4bug@amsat.org> X-Mailer: git-send-email 2.21.3 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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=2a00:1450:4864:20::643; envelope-from=philippe.mathieu.daude@gmail.com; helo=mail-ej1-x643.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: 0 X-Spam_score: 0.0 X-Spam_bar: / X-Spam_report: (0.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FORGED_FROMDOMAIN=1, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no 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: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= , Eduardo Habkost , Richard Henderson , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Markus Armbruster , Paolo Bonzini Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Since commit 510ef98dca5, qdev_realize() aborts if bus-less device is realized on a bus. While commits 514db7710b..007d1dbf72 took care of converting all mainstream uses, QEMU forks weren't converted. These forks are usually maintained by hobbyist with interest in following mainstream development, but with limited time, so usually rebase from time to time. To avoid them to spend time on debugging and reading git-log history, display a kind hint about what is wrong. Before: qemu-system-mipsel: hw/core/qdev.c:376: qdev_realize: Assertion `!DEVICE_= GET_CLASS(dev)->bus_type' failed. Aborted (core dumped) After: Unexpected error in qdev_realize() at hw/core/qdev.c:376: qemu-system-mipsel: Unexpected bus 'System' for bus-less device 'unimplem= ented-device' Aborted (core dumped) Signed-off-by: Philippe Mathieu-Daud=C3=A9 --- hw/core/qdev.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/hw/core/qdev.c b/hw/core/qdev.c index 2131c7f951..a16f1270f1 100644 --- a/hw/core/qdev.c +++ b/hw/core/qdev.c @@ -392,8 +392,11 @@ bool qdev_realize(DeviceState *dev, BusState *bus, Err= or **errp) =20 if (bus) { qdev_set_parent_bus(dev, bus); - } else { - assert(!DEVICE_GET_CLASS(dev)->bus_type); + } else if (DEVICE_GET_CLASS(dev)->bus_type) { + error_setg(errp, "Unexpected bus '%s' for bus-less device '%s'", + DEVICE_GET_CLASS(dev)->bus_type, + object_get_typename(OBJECT(dev))); + return false; } =20 object_property_set_bool(OBJECT(dev), true, "realized", &err); --=20 2.21.3