Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'vfio-v4.10-final' of git://github.com/awilliam/linux-vfio

Pull VFIO fix from Alex Williamson:
"Fix regression in attaching groups to existing container for SPAPR
IOMMU backend (Alexey Kardashevskiy)"

* tag 'vfio-v4.10-final' of git://github.com/awilliam/linux-vfio:
vfio/spapr_tce: Set window when adding additional groups to container

+22
+22
drivers/vfio/vfio_iommu_spapr_tce.c
··· 1245 1245 static long tce_iommu_take_ownership_ddw(struct tce_container *container, 1246 1246 struct iommu_table_group *table_group) 1247 1247 { 1248 + long i, ret = 0; 1249 + 1248 1250 if (!table_group->ops->create_table || !table_group->ops->set_window || 1249 1251 !table_group->ops->release_ownership) { 1250 1252 WARN_ON_ONCE(1); ··· 1255 1253 1256 1254 table_group->ops->take_ownership(table_group); 1257 1255 1256 + /* Set all windows to the new group */ 1257 + for (i = 0; i < IOMMU_TABLE_GROUP_MAX_TABLES; ++i) { 1258 + struct iommu_table *tbl = container->tables[i]; 1259 + 1260 + if (!tbl) 1261 + continue; 1262 + 1263 + ret = table_group->ops->set_window(table_group, i, tbl); 1264 + if (ret) 1265 + goto release_exit; 1266 + } 1267 + 1258 1268 return 0; 1269 + 1270 + release_exit: 1271 + for (i = 0; i < IOMMU_TABLE_GROUP_MAX_TABLES; ++i) 1272 + table_group->ops->unset_window(table_group, i); 1273 + 1274 + table_group->ops->release_ownership(table_group); 1275 + 1276 + return ret; 1259 1277 } 1260 1278 1261 1279 static int tce_iommu_attach_group(void *iommu_data,