From patchwork Wed Feb 3 10:10:01 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Campbell X-Patchwork-Id: 8199871 Return-Path: X-Original-To: patchwork-xen-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id AA95FBEEED for ; Wed, 3 Feb 2016 10:13:04 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id D7D8C2027D for ; Wed, 3 Feb 2016 10:13:03 +0000 (UTC) Received: from lists.xen.org (lists.xenproject.org [50.57.142.19]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6A57B20266 for ; Wed, 3 Feb 2016 10:13:02 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=lists.xen.org) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aQuOP-0003rU-E9; Wed, 03 Feb 2016 10:10:33 +0000 Received: from mail6.bemta4.messagelabs.com ([85.158.143.247]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1aQuOO-0003rJ-HS for xen-devel@lists.xen.org; Wed, 03 Feb 2016 10:10:32 +0000 Received: from [85.158.143.35] by server-1.bemta-4.messagelabs.com id AA/5F-09708-712D1B65; Wed, 03 Feb 2016 10:10:31 +0000 X-Env-Sender: prvs=8347a21d9=Ian.Campbell@citrix.com X-Msg-Ref: server-13.tower-21.messagelabs.com!1454494226!12097362!1 X-Originating-IP: [66.165.176.63] X-SpamReason: No, hits=0.0 required=7.0 tests=sa_preprocessor: VHJ1c3RlZCBJUDogNjYuMTY1LjE3Ni42MyA9PiAzMDYwNDg=\n, received_headers: No Received headers X-StarScan-Received: X-StarScan-Version: 7.35.1; banners=-,-,- X-VirusChecked: Checked Received: (qmail 46538 invoked from network); 3 Feb 2016 10:10:30 -0000 Received: from smtp02.citrix.com (HELO SMTP02.CITRIX.COM) (66.165.176.63) by server-13.tower-21.messagelabs.com with RC4-SHA encrypted SMTP; 3 Feb 2016 10:10:30 -0000 X-IronPort-AV: E=Sophos;i="5.22,389,1449532800"; d="scan'208";a="335765787" From: Ian Campbell To: , , Date: Wed, 3 Feb 2016 10:10:01 +0000 Message-ID: <1454494201-14910-1-git-send-email-ian.campbell@citrix.com> X-Mailer: git-send-email 2.1.4 MIME-Version: 1.0 X-DLP: MIA2 Cc: Ian Campbell Subject: [Xen-devel] [PATCH] libxenforeignmemory: handle partial failure correctly X-BeenThere: xen-devel@lists.xen.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Coverity rightly points out that checking for ret == NULL and then calling osdep unmap(ret) is wrong. The intention on this code path is to turn partial failure into total failure when the err argument is NULL, so we want to take this patch whenever ret is _non_ NULL (and err_to_free is set, indicating err was NULL). CID: 1351219 Signed-off-by: Ian Campbell Acked-by: Wei Liu --- tools/libs/foreignmemory/core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/libs/foreignmemory/core.c b/tools/libs/foreignmemory/core.c index 6591888..a872b95 100644 --- a/tools/libs/foreignmemory/core.c +++ b/tools/libs/foreignmemory/core.c @@ -79,7 +79,7 @@ void *xenforeignmemory_map(xenforeignmemory_handle *fmem, ret = osdep_xenforeignmemory_map(fmem, dom, prot, num, arr, err); - if ( ret == 0 && err_to_free ) + if ( ret && err_to_free ) { int i;