From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dan Carpenter Subject: [bug report] vfio/spapr: Postpone default window creation Date: Tue, 17 Jan 2017 16:55:28 +0300 Message-ID: <20170117135528.GA6353@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm@vger.kernel.org To: aik@ozlabs.ru Return-path: Received: from userp1050.oracle.com ([156.151.31.82]:43487 "EHLO userp1050.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751023AbdAQN5i (ORCPT ); Tue, 17 Jan 2017 08:57:38 -0500 Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) by userp1050.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id v0HDv2mJ014154 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Tue, 17 Jan 2017 13:57:02 GMT Content-Disposition: inline Sender: kvm-owner@vger.kernel.org List-ID: Hello Alexey Kardashevskiy, The patch d9c728949ddc: "vfio/spapr: Postpone default window creation" from Nov 30, 2016, leads to the following static checker warning: drivers/vfio/vfio_iommu_spapr_tce.c:1180 tce_iommu_ioctl() warn: inconsistent returns 'mutex:&container->lock'. drivers/vfio/vfio_iommu_spapr_tce.c 1114 if (copy_from_user(&create, (void __user *)arg, minsz)) 1115 return -EFAULT; 1116 1117 if (create.argsz < minsz) 1118 return -EINVAL; 1119 1120 if (create.flags) 1121 return -EINVAL; 1122 1123 mutex_lock(&container->lock); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1124 1125 ret = tce_iommu_create_default_window(container); 1126 if (ret) 1127 return ret; We can't return directly while holding the lock. 1128 1129 ret = tce_iommu_create_window(container, create.page_shift, 1130 create.window_size, create.levels, 1131 &create.start_addr); 1132 1133 mutex_unlock(&container->lock); 1134 1135 if (!ret && copy_to_user((void __user *)arg, &create, minsz)) 1136 ret = -EFAULT; 1137 1138 return ret; 1139 } regards, dan carpenter