From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752985AbdKCImJ (ORCPT ); Fri, 3 Nov 2017 04:42:09 -0400 Received: from youngberry.canonical.com ([91.189.89.112]:51535 "EHLO youngberry.canonical.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750805AbdKCImH (ORCPT ); Fri, 3 Nov 2017 04:42:07 -0400 From: Colin King To: Boris Ostrovsky , Juergen Gross , xen-devel@lists.xenproject.org Cc: kernel-janitors@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] xen/pvcalls: fix unsigned less than zero error check Date: Fri, 3 Nov 2017 08:42:02 +0000 Message-Id: <20171103084202.27790-1-colin.king@canonical.com> X-Mailer: git-send-email 2.14.1 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Colin Ian King The check on bedata->ref is never true because ref is an unsigned integer. Fix this by assigning signed int ret to the return of the call to gnttab_claim_grant_reference so the -ve return can be checked. Detected by CoverityScan, CID#1460358 ("Unsigned compared against 0") Fixes: 219681909913 ("xen/pvcalls: connect to the backend") Signed-off-by: Colin Ian King --- drivers/xen/pvcalls-front.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/xen/pvcalls-front.c b/drivers/xen/pvcalls-front.c index 0c1ec6894cc4..de8a470351a5 100644 --- a/drivers/xen/pvcalls-front.c +++ b/drivers/xen/pvcalls-front.c @@ -1186,11 +1186,10 @@ static int pvcalls_front_probe(struct xenbus_device *dev, ret = gnttab_alloc_grant_references(1, &gref_head); if (ret < 0) goto error; - bedata->ref = gnttab_claim_grant_reference(&gref_head); - if (bedata->ref < 0) { - ret = bedata->ref; + ret = gnttab_claim_grant_reference(&gref_head); + if (ret < 0) goto error; - } + bedata->ref = ret; gnttab_grant_foreign_access_ref(bedata->ref, dev->otherend_id, virt_to_gfn((void *)sring), 0); -- 2.14.1