Received: by 10.192.165.148 with SMTP id m20csp1107468imm; Thu, 10 May 2018 05:52:43 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqBPsccEOPvLD9Bz+FsrH+XDjWg6a7QvdofjUEU0u26QLOK1nhp00DowRfpUvPY9v+7L15x X-Received: by 2002:a65:4244:: with SMTP id d4-v6mr1077057pgq.234.1525956763385; Thu, 10 May 2018 05:52:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525956763; cv=none; d=google.com; s=arc-20160816; b=QZfV04oQzuHJnqC4wD6ZGMjEq5Hf6aR9QaJ37UriZ8WcY/w15CbEzcl/py5Y9kXsQC L9JbI2K3Qv7OSDMtr7R7CGCw0JnzKZHG8MeX8msU9d08UXIlsCxll4xKmy3hOcs0LAi6 1HqlEXZgz83cfaNNSUJRjfvjpY/kw6jugOjSGHpLaeK4J2SKEzsef0Rw5Aq2yq6/uYCl sre7dvOl1A1fe6ExJ+9LksbMtmWPMl9Oswes6W7azbMTepRKETP5195IhX3OnT7Jutkx W01m8TF+l8px9pUjp9ZyU4R5h9IRSo4Umhx5PtZ8WPHAU04RWDiKOMy4Dje04Z/LLoVR 2MRg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:arc-authentication-results; bh=Zju85XY4q00ge/+v0E6jgX9n+aTUW4CMYHBBoj5rqjE=; b=jDTk2snaBuBXb5uC6F/yFC45gKL6IPv1I9P1LQ8L3h/+37Szq9qBjqpOyESVhJFKi+ TtBJtaP/6xvjrKG/uykX/0nfv8N/fYVBYYqLIa3cDoawHYdVnw1COmSonIFQkjr5PHMr vPVpGLe/X91VgO39gekQHh+EIw3RRGS4GtUcEPapMTGMkS/8J/UEpmqJ0qVkgAOlwzdG bkmLnzvwBZ7e75NnueIsUnpv1qvj+kzDZdYkhgsFqxlCyZmArA2fNhsbdLxu/fyYrq31 gpzaUovhJnNwWeWlX3y8tZFDlYScj6k8piuk16xvk+vLX4cd6Gl3dbkFkk65n7iDgkT/ U3Pw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t1-v6si775185plb.90.2018.05.10.05.52.27; Thu, 10 May 2018 05:52:43 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=canonical.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757371AbeEJMwJ (ORCPT + 99 others); Thu, 10 May 2018 08:52:09 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:47656 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757217AbeEJMwI (ORCPT ); Thu, 10 May 2018 08:52:08 -0400 Received: from 1.general.cking.uk.vpn ([10.172.193.212] helo=localhost) by youngberry.canonical.com with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.76) (envelope-from ) id 1fGl3B-0004Jm-Kw; Thu, 10 May 2018 12:52:01 +0000 From: Colin King To: "David S . Miller" , Igor Russkikh , Pavel Belous , Wei Yongjun , netdev@vger.kernel.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH][next] net: aquantia: fix unsigned numvecs comparison with less than zero Date: Thu, 10 May 2018 13:52:01 +0100 Message-Id: <20180510125201.19707-1-colin.king@canonical.com> X-Mailer: git-send-email 2.17.0 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Colin Ian King The comparison of numvecs < 0 is always false because numvecs is a u32 and hence the error return from a failed call to pci_alloc_irq_vectores is never detected. Fix this by using the signed int ret to handle the error return and assign numvecs to err. Detected by CoverityScan, CID#1468650 ("Unsigned compared against 0") Fixes: a09bd81b5413 ("net: aquantia: Limit number of vectors to actually allocated irqs") Signed-off-by: Colin Ian King --- drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c index a50e08bb4748..750007513f9d 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c @@ -267,14 +267,13 @@ static int aq_pci_probe(struct pci_dev *pdev, numvecs = min(numvecs, num_online_cpus()); /*enable interrupts */ #if !AQ_CFG_FORCE_LEGACY_INT - numvecs = pci_alloc_irq_vectors(self->pdev, 1, numvecs, - PCI_IRQ_MSIX | PCI_IRQ_MSI | - PCI_IRQ_LEGACY); + err = pci_alloc_irq_vectors(self->pdev, 1, numvecs, + PCI_IRQ_MSIX | PCI_IRQ_MSI | + PCI_IRQ_LEGACY); - if (numvecs < 0) { - err = numvecs; + if (err < 0) goto err_hwinit; - } + numvecs = err; #endif self->irqvecs = numvecs; -- 2.17.0