From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ken CC Subject: [PATCH 2/3] pci init: fail qemu if devfn exceeding the max devices number supported on bus Date: Tue, 24 Aug 2010 14:33:51 +0800 Message-ID: <20100824063351.GB10815@kt> References: <20100824062517.12408.45246.stgit@k1> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: yamahata@valinux.co.jp, qemu-devel@nongnu.org To: kvm@vger.kernel.org Return-path: Received: from mail-qy0-f181.google.com ([209.85.216.181]:50227 "EHLO mail-qy0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751953Ab0HXGd4 (ORCPT ); Tue, 24 Aug 2010 02:33:56 -0400 Received: by qyk33 with SMTP id 33so6146849qyk.19 for ; Mon, 23 Aug 2010 23:33:56 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20100824062517.12408.45246.stgit@k1> Sender: kvm-owner@vger.kernel.org List-ID: assert(devfn < PCIBUS_MAX_DEVICES) Signed-off-by: Ken CC --- hw/pci.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/hw/pci.c b/hw/pci.c index 02019a1..1e804da 100644 --- a/hw/pci.c +++ b/hw/pci.c @@ -747,6 +747,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev, PCIBus *bus, PCIConfigWriteFunc *config_write, bool is_bridge) { + assert(devfn < PCIBUS_MAX_DEVICES); if (devfn < 0) { for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices); devfn += PCI_FUNC_MAX) { From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=35992 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Onn54-0007Gx-7m for qemu-devel@nongnu.org; Tue, 24 Aug 2010 02:33:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Onn53-0002xL-92 for qemu-devel@nongnu.org; Tue, 24 Aug 2010 02:33:58 -0400 Received: from mail-qy0-f173.google.com ([209.85.216.173]:63845) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Onn53-0002xG-4Q for qemu-devel@nongnu.org; Tue, 24 Aug 2010 02:33:57 -0400 Received: by qyk5 with SMTP id 5so3571508qyk.4 for ; Mon, 23 Aug 2010 23:33:56 -0700 (PDT) Date: Tue, 24 Aug 2010 14:33:51 +0800 From: Ken CC Message-ID: <20100824063351.GB10815@kt> References: <20100824062517.12408.45246.stgit@k1> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100824062517.12408.45246.stgit@k1> Subject: [Qemu-devel] [PATCH 2/3] pci init: fail qemu if devfn exceeding the max devices number supported on bus List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: kvm@vger.kernel.org Cc: yamahata@valinux.co.jp, qemu-devel@nongnu.org assert(devfn < PCIBUS_MAX_DEVICES) Signed-off-by: Ken CC --- hw/pci.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/hw/pci.c b/hw/pci.c index 02019a1..1e804da 100644 --- a/hw/pci.c +++ b/hw/pci.c @@ -747,6 +747,7 @@ static PCIDevice *do_pci_register_device(PCIDevice *pci_dev, PCIBus *bus, PCIConfigWriteFunc *config_write, bool is_bridge) { + assert(devfn < PCIBUS_MAX_DEVICES); if (devfn < 0) { for(devfn = bus->devfn_min ; devfn < ARRAY_SIZE(bus->devices); devfn += PCI_FUNC_MAX) {