Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp1636913ybv; Fri, 21 Feb 2020 00:45:27 -0800 (PST) X-Google-Smtp-Source: APXvYqwNAxbfxnilsagwT3IS4yOy2I1ta4ZPp45y0pXc5ewptlYtHSgpFyfks4Ehsg5Aafnt1ALf X-Received: by 2002:a9d:750b:: with SMTP id r11mr28332719otk.310.1582274727310; Fri, 21 Feb 2020 00:45:27 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1582274727; cv=none; d=google.com; s=arc-20160816; b=CePWiX2GSGi//lgNYgaWqYAwrNYqXDixUzXuss0HJS1nWbkjueE7HlaIZ+OclhpzOL Xre+RwFqJZkpXHSQk9MZ9+Iv0qxYvI4RexneFFehcSHl9SpcJrG9J8sln0cdMP0Yh8j0 79dmswd0KCWqgLATXXmVTrFwPk4QC4/WrfVJgVyu03GLyF9MnuckZ6suIOvBxPMMdZSQ gRXQdlRO8fcd+fUfhFQ+z8VcV8Gt2hjTBp7tUFd/7ohc3pIElBJqBCPDIywFio1JE+Lb r3RREWBSnthDWN/5Tragys2BtJawaDiT60PYvWGw/jh5jxjXkpKApn9mL8aY4a/lG/Pq wWuA== 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=qRKhU0vUbyQVPriveRLy1BdEUyW0Ty1nmQXD0w3aNtY=; b=PJoPfddCqVx1ShlpJH/NiYPZzGWBYVd5ckptNSVnHN9pzv0PJ1Oxy7yT0hFmB4ZJpi XuNUGknXyQFU7xl5SwYv7QLwoQ/y0bkEJhLE5VlLWRjx5uitPIXEBx0HxH/7AKYcjVcV +r6NMHOvARtMvnb1w+LvGNxrG/VInKbu4WPR9NSxZi39SFeWDN/MYKoV9riVpUTGzhzk qtGgZPtVfygT1FBKGPBBvmRfdFRzfBYrsRTuM4y+QFZZxH5f+M1v1L/RoqJ7mFPlQlee 7x3Z1njGlmi0gr9hb4aF45vjIRIsAkzIRSd0RkNU6wow971JuMKJoZpMEtPlf3dnP2tA X0Sw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=f4zHvXot; 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 r10si1042990otk.83.2020.02.21.00.45.15; Fri, 21 Feb 2020 00:45:27 -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=f4zHvXot; 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 S1729497AbgBUHw2 (ORCPT + 99 others); Fri, 21 Feb 2020 02:52:28 -0500 Received: from mail.kernel.org ([198.145.29.99]:50282 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729554AbgBUHw0 (ORCPT ); Fri, 21 Feb 2020 02:52:26 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 8F4E32073A; Fri, 21 Feb 2020 07:52:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1582271546; bh=IL0DlRLZwPFnTOfxoGC0+a/kYVgGNy0nkZp7u869IZc=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=f4zHvXotIhYOZorkCQ6nahR53+sE0xT88S0z6kaDEmmft4mnpdxEjaeJ7SfOuU3XQ e5u0RVDWHNA3IxIBTvob1EC2aYWwVWPV88+P2GtagnH2LCsn8b2VUhWl9jwwSFqxoB Gg+LQ4QuhoyKXX/kAhbM/3xNLEGaIJjomilrSAEc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Alexey Kardashevskiy , Alex Williamson , Sasha Levin Subject: [PATCH 5.5 208/399] vfio/spapr/nvlink2: Skip unpinning pages on error exit Date: Fri, 21 Feb 2020 08:38:53 +0100 Message-Id: <20200221072423.130034911@linuxfoundation.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200221072402.315346745@linuxfoundation.org> References: <20200221072402.315346745@linuxfoundation.org> User-Agent: quilt/0.66 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: Alexey Kardashevskiy [ Upstream commit 338b4e10f939a71194d8ecef7ece205a942cec05 ] The nvlink2 subdriver for IBM Witherspoon machines preregisters GPU memory in the IOMMI API so KVM TCE code can map this memory for DMA as well. This is done by mm_iommu_newdev() called from vfio_pci_nvgpu_regops::mmap. In an unlikely event of failure the data->mem remains NULL and since mm_iommu_put() (which unregisters the region and unpins memory if that was regular memory) does not expect mem=NULL, it should not be called. This adds a check to only call mm_iommu_put() for a valid data->mem. Fixes: 7f92891778df ("vfio_pci: Add NVIDIA GV100GL [Tesla V100 SXM2] subdriver") Signed-off-by: Alexey Kardashevskiy Signed-off-by: Alex Williamson Signed-off-by: Sasha Levin --- drivers/vfio/pci/vfio_pci_nvlink2.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/vfio/pci/vfio_pci_nvlink2.c b/drivers/vfio/pci/vfio_pci_nvlink2.c index f2983f0f84bea..3f5f8198a6bb1 100644 --- a/drivers/vfio/pci/vfio_pci_nvlink2.c +++ b/drivers/vfio/pci/vfio_pci_nvlink2.c @@ -97,8 +97,10 @@ static void vfio_pci_nvgpu_release(struct vfio_pci_device *vdev, /* If there were any mappings at all... */ if (data->mm) { - ret = mm_iommu_put(data->mm, data->mem); - WARN_ON(ret); + if (data->mem) { + ret = mm_iommu_put(data->mm, data->mem); + WARN_ON(ret); + } mmdrop(data->mm); } -- 2.20.1