From nobody Mon Apr 29 08:27:07 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=163.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1546528801679454.0885046890604; Thu, 3 Jan 2019 07:20:01 -0800 (PST) Received: from localhost ([127.0.0.1]:55319 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gf4mu-0004gP-Ft for importer@patchew.org; Thu, 03 Jan 2019 10:20:00 -0500 Received: from eggs.gnu.org ([208.118.235.92]:33371) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gf4lI-0003in-CO for qemu-devel@nongnu.org; Thu, 03 Jan 2019 10:18:21 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gf4lE-0007aV-PO for qemu-devel@nongnu.org; Thu, 03 Jan 2019 10:18:20 -0500 Received: from m12-14.163.com ([220.181.12.14]:55423) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gf4kx-0007Tr-VX; Thu, 03 Jan 2019 10:18:01 -0500 Received: from localhost.localdomain (unknown [183.134.169.2]) by smtp10 (Coremail) with SMTP id DsCowACHneJ_Jy5c5aqpIA--.53346S2; Thu, 03 Jan 2019 23:17:21 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=163.com; s=s110527; h=From:Subject:Date:Message-Id; bh=z++scQ/CQ+dq7dTH7U 93rDv322xuXHIyZdFPBkPGqpo=; b=GEWLmINSJ0DkuJjsVNcURPURpyGNfgDMKH rKrdHodXYXBLS3pxGr46ZYoWBGLRL8ZcoxadTFE93pFB88C9q9WLAXjrtgsDBvFO LLWzME9i78K3Hmkz8xoqrR42obY43MxUcSJne6G+zkL44T7xS+8F9FGa+Txlb72k 7qbiqrDKU= From: Li Qiang To: walling@linux.ibm.com, rth@twiddle.net, david@redhat.com, cohuck@redhat.com, pasic@linux.ibm.com, borntraeger@de.ibm.com Date: Thu, 3 Jan 2019 07:16:12 -0800 Message-Id: <20190103151612.51399-1-liq3ea@163.com> X-Mailer: git-send-email 2.17.1 X-CM-TRANSID: DsCowACHneJ_Jy5c5aqpIA--.53346S2 X-Coremail-Antispam: 1Uf129KBjvJXoW7uryktryfWFyrAr4rur43Awb_yoW8Xr4UpF ZrGFyvkwsIkr1DAwsaqa9rWFy8WanFkw4kXr9xXw4UK34UXrnxtFWjyasxCw47JryxZr45 XrZ8tFWkZanF9w7anT9S1TB71UUUUUUqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDUYxBIdaVFxhVjvjDU0xZFpf9x07UTT5JUUUUU= X-Originating-IP: [183.134.169.2] X-CM-SenderInfo: 5oltjvrd6rljoofrz/xtbBawExbVettg-CwwAAs0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 220.181.12.14 Subject: [Qemu-devel] [PATCH v2] s390: avoid potential null dereference in s390_pcihost_unplug() 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: peter.maydell@linaro.org, qemu-s390x@nongnu.org, Li Qiang , qemu-devel@nongnu.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" When getting the 'pbdev', the if...else has no default branch. From Coverity, the 'pbdev' maybe null when the 'dev' is not the TYPE_PCI_BRIDGE/TYPE_PCI_DEVICE/TYPE_S390_PCI_DEVICE. This patch adds a default branch for device plug and unplug. Spotted by Coverity: CID 1398593 Signed-off-by: Li Qiang --- Adds a default branch for device plug per Cornelia's review. hw/s390x/s390-pci-bus.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/hw/s390x/s390-pci-bus.c b/hw/s390x/s390-pci-bus.c index 15759b6514..fe48a36ff6 100644 --- a/hw/s390x/s390-pci-bus.c +++ b/hw/s390x/s390-pci-bus.c @@ -912,6 +912,9 @@ static void s390_pcihost_plug(HotplugHandler *hotplug_d= ev, DeviceState *dev, pbdev->fh =3D pbdev->idx; QTAILQ_INSERT_TAIL(&s->zpci_devs, pbdev, link); g_hash_table_insert(s->zpci_table, &pbdev->idx, pbdev); + } else { + error_setg(errp, "s390: device plug request for not supported devi= ce" + " type: %s", object_get_typename(OBJECT(dev))); } } =20 @@ -956,6 +959,10 @@ static void s390_pcihost_unplug(HotplugHandler *hotplu= g_dev, DeviceState *dev, } else if (object_dynamic_cast(OBJECT(dev), TYPE_S390_PCI_DEVICE)) { pbdev =3D S390_PCI_DEVICE(dev); pci_dev =3D pbdev->pdev; + } else { + error_setg(errp, "s390: device unplug request for not supported de= vice" + " type: %s", object_get_typename(OBJECT(dev))); + return; } =20 switch (pbdev->state) { --=20 2.17.1