[{"id":1776737,"web_url":"http://patchwork.ozlabs.org/comment/1776737/","msgid":"<20170928041308.GD12504@umbus>","list_archive_url":null,"date":"2017-09-28T04:13:08","subject":"Re: [Qemu-devel] [PATCH v2 5/5] pci: Validate interfaces on\n\tbase_class_init","submitter":{"id":47,"url":"http://patchwork.ozlabs.org/api/people/47/","name":"David Gibson","email":"david@gibson.dropbear.id.au"},"content":"On Wed, Sep 27, 2017 at 04:56:35PM -0300, Eduardo Habkost wrote:\n> Make sure we don't forget to add the Conventional PCI or PCI\n> Express interface names on PCI device classes in the future.\n> \n> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>\n\nRevieed-by: David Gibson <david@gibson.dropbear.id.au>\n\n> ---\n> Changes v1 -> v2:\n> * s/legacy/conventional/\n>   * Suggested-by: Alex Williamson <alex.williamson@redhat.com>\n> ---\n>  hw/pci/pci.c | 12 ++++++++++++\n>  1 file changed, 12 insertions(+)\n> \n> diff --git a/hw/pci/pci.c b/hw/pci/pci.c\n> index 1b08e18205..5ed3c8dca4 100644\n> --- a/hw/pci/pci.c\n> +++ b/hw/pci/pci.c\n> @@ -2547,6 +2547,17 @@ static void pci_device_class_init(ObjectClass *klass, void *data)\n>      pc->realize = pci_default_realize;\n>  }\n>  \n> +static void pci_device_class_base_init(ObjectClass *klass, void *data)\n> +{\n> +    if (!object_class_is_abstract(klass)) {\n> +        ObjectClass *conventional =\n> +            object_class_dynamic_cast(klass, INTERFACE_CONVENTIONAL_PCI_DEVICE);\n> +        ObjectClass *pcie =\n> +            object_class_dynamic_cast(klass, INTERFACE_PCIE_DEVICE);\n> +        assert(conventional || pcie);\n> +    }\n> +}\n> +\n>  AddressSpace *pci_device_iommu_address_space(PCIDevice *dev)\n>  {\n>      PCIBus *bus = PCI_BUS(dev->bus);\n> @@ -2671,6 +2682,7 @@ static const TypeInfo pci_device_type_info = {\n>      .abstract = true,\n>      .class_size = sizeof(PCIDeviceClass),\n>      .class_init = pci_device_class_init,\n> +    .class_base_init = pci_device_class_base_init,\n>  };\n>  \n>  static void pci_register_types(void)","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=gibson.dropbear.id.au\n\theader.i=@gibson.dropbear.id.au header.b=\"A6S17Vkk\"; \n\tdkim-atps=neutral"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y2hCT2q4Rz9tXj\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 28 Sep 2017 14:14:13 +1000 (AEST)","from localhost ([::1]:57276 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dxQDD-0000fV-E4\n\tfor incoming@patchwork.ozlabs.org; Thu, 28 Sep 2017 00:14:11 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:53985)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <dgibson@ozlabs.org>) id 1dxQCV-0000dv-A7\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 00:13:28 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <dgibson@ozlabs.org>) id 1dxQCU-0003WJ-8Z\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 00:13:27 -0400","from ozlabs.org ([103.22.144.67]:42939)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <dgibson@ozlabs.org>) id 1dxQCT-0003VR-TR\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 00:13:26 -0400","by ozlabs.org (Postfix, from userid 1007)\n\tid 3y2hBN6lK4z9tXv; Thu, 28 Sep 2017 14:13:16 +1000 (AEST)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple;\n\td=gibson.dropbear.id.au; s=201602; t=1506571996;\n\tbh=/OMlQSU39aCz2wByfNxrr6CD6W9cMEbYTuIheq0aei8=;\n\th=Date:From:To:Cc:Subject:References:In-Reply-To:From;\n\tb=A6S17VkkxW502xi9lU8tXvzE1Tb5F/rSMYhkcWk5pcsnFxTgpz6V+JgTAG5NoirzV\n\tLlokSA3q1qHw0QWQNFWWhIeETRWdYPHnf4Loa7s59i22TTjeWHSTIjEPJr1pxG9EC2\n\thQJWDpND95CXpOPA7EWpL1bfw5M7m8VrTjbz2GfA=","Date":"Thu, 28 Sep 2017 14:13:08 +1000","From":"David Gibson <david@gibson.dropbear.id.au>","To":"Eduardo Habkost <ehabkost@redhat.com>","Message-ID":"<20170928041308.GD12504@umbus>","References":"<20170927195635.16014-1-ehabkost@redhat.com>\n\t<20170927195635.16014-6-ehabkost@redhat.com>","MIME-Version":"1.0","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\"; boundary=\"i3WE5m5QLioBhvvb\"","Content-Disposition":"inline","In-Reply-To":"<20170927195635.16014-6-ehabkost@redhat.com>","User-Agent":"Mutt/1.9.0 (2017-09-02)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"103.22.144.67","Subject":"Re: [Qemu-devel] [PATCH v2 5/5] pci: Validate interfaces on\n\tbase_class_init","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"\"Michael S. Tsirkin\" <mst@redhat.com>, qemu-devel@nongnu.org,\n\tAlex Williamson <alex.williamson@redhat.com>,\n\tLaine Stump <laine@redhat.com>, Alistair Francis <alistair23@gmail.com>, \n\tMarcel Apfelbaum <marcel@redhat.com>, David Gibson <dgibson@redhat.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1776916,"web_url":"http://patchwork.ozlabs.org/comment/1776916/","msgid":"<44c08fd8-d024-a21a-c59e-6a1d9e928741@redhat.com>","list_archive_url":null,"date":"2017-09-28T09:36:45","subject":"Re: [Qemu-devel] [PATCH v2 5/5] pci: Validate interfaces on\n\tbase_class_init","submitter":{"id":65362,"url":"http://patchwork.ozlabs.org/api/people/65362/","name":"Marcel Apfelbaum","email":"marcel@redhat.com"},"content":"On 27/09/2017 22:56, Eduardo Habkost wrote:\n> Make sure we don't forget to add the Conventional PCI or PCI\n> Express interface names on PCI device classes in the future.\n> \n> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>\n> ---\n> Changes v1 -> v2:\n> * s/legacy/conventional/\n>    * Suggested-by: Alex Williamson <alex.williamson@redhat.com>\n> ---\n>   hw/pci/pci.c | 12 ++++++++++++\n>   1 file changed, 12 insertions(+)\n> \n> diff --git a/hw/pci/pci.c b/hw/pci/pci.c\n> index 1b08e18205..5ed3c8dca4 100644\n> --- a/hw/pci/pci.c\n> +++ b/hw/pci/pci.c\n> @@ -2547,6 +2547,17 @@ static void pci_device_class_init(ObjectClass *klass, void *data)\n>       pc->realize = pci_default_realize;\n>   }\n>   \n> +static void pci_device_class_base_init(ObjectClass *klass, void *data)\n> +{\n> +    if (!object_class_is_abstract(klass)) {\n> +        ObjectClass *conventional =\n> +            object_class_dynamic_cast(klass, INTERFACE_CONVENTIONAL_PCI_DEVICE);\n> +        ObjectClass *pcie =\n> +            object_class_dynamic_cast(klass, INTERFACE_PCIE_DEVICE);\n> +        assert(conventional || pcie);\n> +    }\n> +}\n> +\n>   AddressSpace *pci_device_iommu_address_space(PCIDevice *dev)\n>   {\n>       PCIBus *bus = PCI_BUS(dev->bus);\n> @@ -2671,6 +2682,7 @@ static const TypeInfo pci_device_type_info = {\n>       .abstract = true,\n>       .class_size = sizeof(PCIDeviceClass),\n>       .class_init = pci_device_class_init,\n> +    .class_base_init = pci_device_class_base_init,\n>   };\n>   \n>   static void pci_register_types(void)\n> \n\nReviewed-by: Marcel Apfelbaum <marcel@redhat.com>\n\nThanks,\nMarcel","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx02.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx02.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=marcel@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3y2qNT1Kv2z9t3C\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 28 Sep 2017 19:37:29 +1000 (AEST)","from localhost ([::1]:58189 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dxVG3-00054I-7c\n\tfor incoming@patchwork.ozlabs.org; Thu, 28 Sep 2017 05:37:27 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:36133)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <marcel@redhat.com>) id 1dxVFZ-00053N-9H\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 05:36:58 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <marcel@redhat.com>) id 1dxVFY-0002fa-HY\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 05:36:57 -0400","from mx1.redhat.com ([209.132.183.28]:44286)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <marcel@redhat.com>) id 1dxVFY-0002fN-Au\n\tfor qemu-devel@nongnu.org; Thu, 28 Sep 2017 05:36:56 -0400","from smtp.corp.redhat.com\n\t(int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 613B720F06F;\n\tThu, 28 Sep 2017 09:36:55 +0000 (UTC)","from mapfelba-osx.local (unknown [10.35.206.52])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id 48F3660BE1;\n\tThu, 28 Sep 2017 09:36:46 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 613B720F06F","To":"Eduardo Habkost <ehabkost@redhat.com>, qemu-devel@nongnu.org","References":"<20170927195635.16014-1-ehabkost@redhat.com>\n\t<20170927195635.16014-6-ehabkost@redhat.com>","From":"Marcel Apfelbaum <marcel@redhat.com>","Message-ID":"<44c08fd8-d024-a21a-c59e-6a1d9e928741@redhat.com>","Date":"Thu, 28 Sep 2017 12:36:45 +0300","User-Agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:52.0)\n\tGecko/20100101 Thunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170927195635.16014-6-ehabkost@redhat.com>","Content-Type":"text/plain; charset=utf-8; format=flowed","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.12","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.26]);\n\tThu, 28 Sep 2017 09:36:55 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","Subject":"Re: [Qemu-devel] [PATCH v2 5/5] pci: Validate interfaces on\n\tbase_class_init","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"David Gibson <dgibson@redhat.com>,\n\tAlex Williamson <alex.williamson@redhat.com>,\n\t\"Michael S. Tsirkin\" <mst@redhat.com>, Laine Stump <laine@redhat.com>,\n\tAlistair Francis <alistair23@gmail.com>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]