Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3035099imu; Sun, 9 Dec 2018 15:40:54 -0800 (PST) X-Google-Smtp-Source: AFSGD/Wdcs3EbWbv6pg00k9SwobgtrYunigHp7yxVoHhNXGwvrNLV+iK0z3JH6yMif13CZyK54W8 X-Received: by 2002:a63:8f45:: with SMTP id r5mr8941450pgn.222.1544398854006; Sun, 09 Dec 2018 15:40:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544398853; cv=none; d=google.com; s=arc-20160816; b=MZkWVwHCGLxlmTCfTUOunYTBJUKX0DJWb/neh711qgGLETWt0FGNwNF97t83YXGR5r iVJF9+0R177jiC/HWzs/Kc56cUhmInpM+jxef49CyaIFdemZnrTBhooOYFYtu//SwpV1 jKa2+W5+0DSaTjYFnVrCz0lXYLi5+/4x4AZPg8ByWK79wNhOxmWFX5sY0wFfG1MnVPfN aFIwbbQ/hJRv1Hp3zL1RbqDbxQ2EogYNK09dvFDrD11k/69XtjHRm0mZS4gB6p0bxXz/ mxi/N3008g1PHR046grPk7PqyDAsLSa7Yfx63Uz3ii1J8bxR8rJU7YgiFwSPDs5/wQ7d +xDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:subject:message-id:date:cc:to :from:mime-version:content-transfer-encoding:content-disposition; bh=JF7kvj1a059b6PdEjeRcU+VsKDJh5jvFwJ2ZUCpKcMY=; b=RE5SKPavulSnIW8yq1T4zRHv45D/aeggu5E3qJxcedYElvlXDwFVmUbitnx5u0q2eD CT089dc/fiUG3t5XWgLYuiU+wvc0P2NJ73kYG6JpW3rHFQmlahrUDRvAmTSlu7qJJQoJ 4Z8ycxPJqUnHtEvOlrkTlsHwiEOW2Nz40jD20RS2o+y1JKSuQr3myl+Eql+6N3ke0mbh EDa/ZJVQ/i6uwZZYZA85gaUBmq+4Gp25SUdGoMktM27miHKYUIyXXDns2IRLdi+yK4Hn 50jvOjj8VfnRG0HqrQ+1AhinWcv8aaM3dgV5g7Uk5XelqjmufEOq6qwHWc0ldxOI1VHd XOLw== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 88si8714712plb.288.2018.12.09.15.40.38; Sun, 09 Dec 2018 15:40:53 -0800 (PST) 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727846AbeLIW12 (ORCPT + 99 others); Sun, 9 Dec 2018 17:27:28 -0500 Received: from shadbolt.e.decadent.org.uk ([88.96.1.126]:34682 "EHLO shadbolt.e.decadent.org.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726387AbeLIVzM (ORCPT ); Sun, 9 Dec 2018 16:55:12 -0500 Received: from pub.yeoldevic.com ([81.174.156.145] helo=deadeye) by shadbolt.decadent.org.uk with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1gW72b-0002il-Qm; Sun, 09 Dec 2018 21:55:09 +0000 Received: from ben by deadeye with local (Exim 4.91) (envelope-from ) id 1gW72Z-0003EV-0H; Sun, 09 Dec 2018 21:55:07 +0000 Content-Type: text/plain; charset="UTF-8" Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 From: Ben Hutchings To: linux-kernel@vger.kernel.org, stable@vger.kernel.org CC: akpm@linux-foundation.org, "Greg Kroah-Hartman" , "Dan Carpenter" Date: Sun, 09 Dec 2018 21:50:33 +0000 Message-ID: X-Mailer: LinuxStableQueue (scripts by bwh) X-Patchwork-Hint: ignore Subject: [PATCH 3.16 030/328] vmci: type promotion bug in qp_host_get_user_memory() In-Reply-To: X-SA-Exim-Connect-IP: 81.174.156.145 X-SA-Exim-Mail-From: ben@decadent.org.uk X-SA-Exim-Scanned: No (on shadbolt.decadent.org.uk); SAEximRunCond expanded to false Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 3.16.62-rc1 review patch. If anyone has any objections, please let me know. ------------------ From: Dan Carpenter commit 7fb2fd4e25fc1fb10dcb30b5519de257cfeae84c upstream. The problem is that if get_user_pages_fast() fails and returns a negative error code, it gets type promoted to a high positive value and treated as a success. Fixes: 06164d2b72aa ("VMCI: queue pairs implementation.") Signed-off-by: Dan Carpenter Signed-off-by: Greg Kroah-Hartman [bwh: Backported to 3.16: adjust context] Signed-off-by: Ben Hutchings --- drivers/misc/vmw_vmci/vmci_queue_pair.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) --- a/drivers/misc/vmw_vmci/vmci_queue_pair.c +++ b/drivers/misc/vmw_vmci/vmci_queue_pair.c @@ -735,7 +735,7 @@ static int qp_host_get_user_memory(u64 p retval = get_user_pages_fast((uintptr_t) produce_uva, produce_q->kernel_if->num_pages, 1, produce_q->kernel_if->u.h.header_page); - if (retval < produce_q->kernel_if->num_pages) { + if (retval < (int)produce_q->kernel_if->num_pages) { pr_warn("get_user_pages(produce) failed (retval=%d)", retval); qp_release_pages(produce_q->kernel_if->u.h.header_page, retval, false); @@ -746,7 +746,7 @@ static int qp_host_get_user_memory(u64 p retval = get_user_pages_fast((uintptr_t) consume_uva, consume_q->kernel_if->num_pages, 1, consume_q->kernel_if->u.h.header_page); - if (retval < consume_q->kernel_if->num_pages) { + if (retval < (int)consume_q->kernel_if->num_pages) { pr_warn("get_user_pages(consume) failed (retval=%d)", retval); qp_release_pages(consume_q->kernel_if->u.h.header_page, retval, false);