Skip to content

Commit 2da64d2

Browse files
aikawilliam
authored andcommitted
vfio/spapr: Fix missing mutex unlock when creating a window
Commit d9c7289 ("vfio/spapr: Postpone default window creation") added an additional exit to the VFIO_IOMMU_SPAPR_TCE_CREATE case and made it possible to return from tce_iommu_ioctl() without unlocking container->lock; this fixes the issue. Fixes: d9c7289 ("vfio/spapr: Postpone default window creation") Signed-off-by: Alexey Kardashevskiy <[email protected]> Reviewed-by: David Gibson <[email protected]> Signed-off-by: Alex Williamson <[email protected]>
1 parent 566cf87 commit 2da64d2

File tree

1 file changed

+5
-6
lines changed

1 file changed

+5
-6
lines changed

drivers/vfio/vfio_iommu_spapr_tce.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1123,12 +1123,11 @@ static long tce_iommu_ioctl(void *iommu_data,
11231123
mutex_lock(&container->lock);
11241124

11251125
ret = tce_iommu_create_default_window(container);
1126-
if (ret)
1127-
return ret;
1128-
1129-
ret = tce_iommu_create_window(container, create.page_shift,
1130-
create.window_size, create.levels,
1131-
&create.start_addr);
1126+
if (!ret)
1127+
ret = tce_iommu_create_window(container,
1128+
create.page_shift,
1129+
create.window_size, create.levels,
1130+
&create.start_addr);
11321131

11331132
mutex_unlock(&container->lock);
11341133

0 commit comments

Comments
 (0)