Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp3482494imu; Sun, 11 Nov 2018 16:06:49 -0800 (PST) X-Google-Smtp-Source: AJdET5eowEv6Op6gc9AaY4cPDq2kl3L9Z5dOZ9gQMxnBwiqKOgIIVgDJdAD8hYAE1GXxyhS3otW3 X-Received: by 2002:a62:5bc7:: with SMTP id p190-v6mr18047566pfb.175.1541981208990; Sun, 11 Nov 2018 16:06:48 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1541981208; cv=none; d=google.com; s=arc-20160816; b=oBvDFeFqLEm4lbvMSyaC796ZmarGCTubte0/8DUKx6lkWEnBxyMa/haoziOQxIWkI2 KBGGB2KyB8ZGD6o/2ZBNK+XxPOwNBiGpE3JDLR8YriDLVLzxwF7R30vThKS/tfxn+oSQ VV2p/7GXrIjrxOF2hvK7gl2dPTdJFbeoxwH/iT7Lg4YPZIV1id6FkuwKIrEKIrfaVyQX PGvz3NZ20qHa46EPkd+jInzNfJNUxJXhg5cddJQoCD4YOlD0O63PH/ofI/F7uj363xCx pDf+oWYFQypUXq1u7WAvA9QhqGSbI4+w1OAxJ5EUklvd5re4stSbdpD+3/dWfJuROCZM p1Ig== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=2rhZdYkvvq8Zh0ckD2fEI2PsmYQ6bJtSDaYgNf0q7nU=; b=mUBtcWQfSxPF4ZBiPL8MNdqFW7Tn7PqSFCxI5zCq2m983CMcFpnmr8U54DN+nF0w6O u/HDNQho2MWHmZM6SKv1g/atIN9d0aoazIiSr4lJSYmzY5XiGKIAMXNqxxJamda5u3Im RhkoqMlmogAp4n2PRLXEn38CXKstg7OThKwazDMVt5S8wsXGEKn3NF0dKspikVavmUkd +6s1JtTAaDSY3jdvzTH8bBQqtXKlr2PqEACPaK7O7X7C5psSHvG2fkGZW3xOQaNJSbTc tW1n16djbv8jA3N0pG8NUr3kXYEuau7CzPGmqJ5JpFELVA2+4j/OfjqVH18gF1O7jwAt bxpQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b="xR4ict/1"; 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 37-v6si16259583ple.389.2018.11.11.16.06.34; Sun, 11 Nov 2018 16:06:48 -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; dkim=pass header.i=@kernel.org header.s=default header.b="xR4ict/1"; 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 S1732115AbeKLJ4k (ORCPT + 99 others); Mon, 12 Nov 2018 04:56:40 -0500 Received: from mail.kernel.org ([198.145.29.99]:60706 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731844AbeKLIRj (ORCPT ); Mon, 12 Nov 2018 03:17:39 -0500 Received: from localhost (unknown [206.108.79.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 6253A2154B; Sun, 11 Nov 2018 22:27:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541975264; bh=6Uj+Q5ioz5uNuOAyeGs5SeKQ6uFWyZQkpI5RnpsADxU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=xR4ict/1aWneK3v2ay+Fv+ZelcG3h5gJ3rG3iFOZzbLs/w2h9SLOK758V9sYgsVnU sAgIlGmdbgrwgnsocA4iCURpXlI12+KJmSB79qJDBF5ODMcDwFU09du2SOTYzVQSCr WnM2yWinMcWucGEc7yf62tMeYMbAsssLFSlXxWWY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Hangbin Liu , Adit Ranadive , Vishnu Dasa , Jorgen Hansen , Sasha Levin Subject: [PATCH 4.19 154/361] VMCI: Resource wildcard match fixed Date: Sun, 11 Nov 2018 14:18:21 -0800 Message-Id: <20181111221642.044241539@linuxfoundation.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181111221619.915519183@linuxfoundation.org> References: <20181111221619.915519183@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review 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 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ From: Jorgen Hansen [ Upstream commit 11924ba5e671d6caef1516923e2bd8c72929a3fe ] When adding a VMCI resource, the check for an existing entry would ignore that the new entry could be a wildcard. This could result in multiple resource entries that would match a given handle. One disastrous outcome of this is that the refcounting used to ensure that delayed callbacks for VMCI datagrams have run before the datagram is destroyed can be wrong, since the refcount could be increased on the duplicate entry. This in turn leads to a use after free bug. This issue was discovered by Hangbin Liu using KASAN and syzkaller. Fixes: bc63dedb7d46 ("VMCI: resource object implementation") Reported-by: Hangbin Liu Reviewed-by: Adit Ranadive Reviewed-by: Vishnu Dasa Signed-off-by: Jorgen Hansen Signed-off-by: Greg Kroah-Hartman Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- drivers/misc/vmw_vmci/vmci_driver.c | 2 +- drivers/misc/vmw_vmci/vmci_resource.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) --- a/drivers/misc/vmw_vmci/vmci_driver.c +++ b/drivers/misc/vmw_vmci/vmci_driver.c @@ -113,5 +113,5 @@ module_exit(vmci_drv_exit); MODULE_AUTHOR("VMware, Inc."); MODULE_DESCRIPTION("VMware Virtual Machine Communication Interface."); -MODULE_VERSION("1.1.5.0-k"); +MODULE_VERSION("1.1.6.0-k"); MODULE_LICENSE("GPL v2"); --- a/drivers/misc/vmw_vmci/vmci_resource.c +++ b/drivers/misc/vmw_vmci/vmci_resource.c @@ -57,7 +57,8 @@ static struct vmci_resource *vmci_resour if (r->type == type && rid == handle.resource && - (cid == handle.context || cid == VMCI_INVALID_ID)) { + (cid == handle.context || cid == VMCI_INVALID_ID || + handle.context == VMCI_INVALID_ID)) { resource = r; break; }