From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756099AbdACL5H (ORCPT ); Tue, 3 Jan 2017 06:57:07 -0500 Received: from mail-pf0-f195.google.com ([209.85.192.195]:34597 "EHLO mail-pf0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752568AbdACL47 (ORCPT ); Tue, 3 Jan 2017 06:56:59 -0500 From: Arvind Yadav To: alex.williamson@redhat.com Cc: cjia@nvidia.com, kwankhede@nvidia.com, xyjxie@linux.vnet.ibm.com, mst@redhat.com, vlad@tsyrklevich.net, kvm@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [v1] vfio: pci: vfio_pci:- Handle error from pci_iomap Date: Tue, 3 Jan 2017 17:26:46 +0530 Message-Id: <1483444606-16463-1-git-send-email-arvind.yadav.cs@gmail.com> X-Mailer: git-send-email 1.9.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Here, pci_iomap can fail, handle this case release selected pci regions and return -ENOMEM. Signed-off-by: Arvind Yadav --- drivers/vfio/pci/vfio_pci.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c index dcd7c2a..324c52e 100644 --- a/drivers/vfio/pci/vfio_pci.c +++ b/drivers/vfio/pci/vfio_pci.c @@ -1142,6 +1142,10 @@ static int vfio_pci_mmap(void *device_data, struct vm_area_struct *vma) return ret; vdev->barmap[index] = pci_iomap(pdev, index, 0); + if (!vdev->barmap[index]) { + pci_release_selected_regions(pdev, 1 << index); + return -ENOMEM; + } } vma->vm_private_data = vdev; -- 1.9.1